Heroku — ошибка во время git push/deployment, та же версия этого кода уже собрана

У меня проблема с развертыванием моего приложения Springboot в Heroku. После запуска git push heroku master я сталкиваюсь с ошибкой ниже:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  9.350 s
[INFO] Finished at: 2020-12-22T06:33:14Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project audit: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :audit
remote:  !     Push rejected, failed to compile Java app.
remote: 
remote:  !     Push failed
remote:  !
remote:  ! ## Warning - The same version of this code has already been built:             31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote:  !
remote:  ! We have detected that you have triggered a build from source code with version 31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote:  ! at least twice. One common cause of this behavior is attempting to deploy code     from a different branch.
remote:  !
remote:  ! If you are developing on a branch and deploying via git you must run:
remote:  !
remote:  !     git push heroku <branchname>:main
remote:  !
remote:  ! This article goes into details on the behavior:
remote:  !   https://devcenter.heroku.com/articles/duplicate-build-version
remote: 
remote: Verifying deploy...
remote: 
remote: !   Push rejected to tesda8app.

Я не знаю, почему эта ошибка произошла. У меня есть два удаленных репозитория, в которые я загружаю свой код, один из Heroku и один в Github. Я попробовал приведенную ниже команду на основе ответа на этот вопрос, Heroku: если вы разрабатываете ветку и развертываете через git, вы должны запустить:

git push heroku master:main

Но все равно ошибка сохраняется. Есть ли какая-нибудь команда, которую я мог бы попробовать в интерфейсе командной строки Heroku для решения этой проблемы?

Это просто предупреждение. Фактическая ошибка выше этого. Пожалуйста, отредактируйте свой вопрос и покажите нам сообщения об ошибках выше.

Chris 22.12.2020 20:43

привет Крис спасибо за указание на это. я уже обновил журналы ошибок

Donato Amasa 23.12.2020 00:35

Я не думаю, что это все сообщение. Пожалуйста, добавьте все это.

Chris 23.12.2020 01:05

привет @Chris обновил журналы. это все сообщение об ошибке, которое я получил

Donato Amasa 28.12.2020 01:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
12
4
23 788
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

У меня была такая же ошибка в тот же день, что и у вас, я не знаю, тот ли это ответ, который вы ищете, но я каким-то образом решил проблему. Я делал Django-Rest-Api.

ПРИЧИНА

вы создали два репозитория git в одной и той же папке/каталоге и вставили в их голову один и тот же код, и Heroku почему-то не хочет, чтобы вы это делали. помните, что нет двух репозиториев git на одном уровне.

о git push heroku master:main вещи

Heroku развертывает ваш код только из ветки main/master. поэтому, если вы нажимаете не от мастера, вы должны использовать его как git push heroku <new branch>:main, использование :main с master бессмысленно (то же самое).

РЕШЕНИЕ

вариант 1 (у меня не работает)

Я точно не помню, откуда я это взял, но вам нужно создать новую ветку git, делать

git branch <new branch>
git checkout <new branch>
git add .
git commit -am "commit message"
git push heroku <new branch>:main

но это дает ту же ошибку, потому что у вас все еще есть два репозитория git в вашем каталоге.

вы можете удалить репо следующим образом.

rm -rf .git

Предлагаю вам провести эксперимент на временной копии.

вариант 2 (у меня работает)

Все, что я сделал, это скопировал все файлы внутри, создал новую папку с другим именем, вставил все файлы, удалил старый и переименовал новый в старый. сделав это, у вас будет бесплатный каталог git, после чего вы сможете использовать метод git init, чтобы просто создать новое репо.

вот как вы должны создать

git init
heroku create
git add .
git commit -am "initial commit"
git push heroku master

Это должно устранить ошибку. Она решена для меня, поэтому маловероятно, что я буду работать над ней больше, но если мой ответ каким-либо образом неверен, пожалуйста, сообщите мне.

Ответ принят как подходящий

После нескольких попыток я подумал, что причиной проблемы, возможно, была прерванная команда git push heroku master, которая затем была продолжена повторным выполнением той же команды, что привело к ошибке ниже:

remote:  !     Push failed
remote:  !
remote:  ! ## Warning - The same version of this code has already been built:             31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote:  !
remote:  ! We have detected that you have triggered a build from source code with version 31199a7acec03a3cb614ebaaf6c7720cee6684bd
remote:  ! at least twice. One common cause of this behavior is attempting to deploy         code     from a different branch.
remote:  !

Итак, что я сделал, так это отправил еще один коммит, затем повторил ту же команду git push heroku master, что привело к успешному развертыванию.

Кроме того, приветствую Ответ и идеи RainXCat, теперь я знаю, что Heroku не позволяет использовать два репозитория git в одном каталоге/папке.

Я столкнулся с той же проблемой. Добавление еще одного коммита и отправка на удаленный сервер решили мою проблему, спасибо.

user3728517 15.08.2022 15:15

Установите интерфейс командной строки Heroku Загрузите и установите интерфейс командной строки Heroku.

Если вы еще этого не сделали, войдите в свою учетную запись Heroku и следуйте инструкциям, чтобы создать новый открытый ключ SSH.

$ heroku login

Клонировать репозиторий Используйте Git для клонирования исходного кода проектов на локальный компьютер.

$ heroku git:clone -a project







$ cd project

Разверните свои изменения Внесите некоторые изменения в код, который вы только что клонировали, и разверните их на Heroku с помощью Git.

$ git add .
$ git commit -am "make it better"
$ git push heroku master

это сработало для меня!

git branch <new branch>
git checkout <new branch>
git add .
git commit -am "commit message"
git push heroku <new branch>:main

git push --set-upstream heroku <new branch>

это сработало для меня.

Я удалил свой файл package-lock.json и снова сделал следующее.

  1. git инициировать
  2. git добавить .
  3. git совершить -м ""
  4. git push главный герой

цель состоит в том, чтобы очистить кеш сборки

Я только что сделал пустой коммит и снова нажал. Это сработало для меня.

git commit --allow-empty -m 'empty commit for pushing staging environment'
git push staging master

Другие вопросы по теме