только недавно начали использовать Travis CI для тестирования сборки. Прошли долгий путь всего за несколько дней, и с ним было очень весело.Получение Travis для пропуска нажатия тега, если он существует
Have строит проходит успешно, но теперь работают мои испытания в нескольких результатах PHP сред только первый тест проходит по нажатию тега/номер сборки на репо и последующие испытания неудовлетворительных с
! [rejected] v2.2017.22 -> v2.2017.22 (already exists)
Моим Башем код, где он делает пуш выглядит следующим образом:
before_deploy: - git config --global user.email "${GIT_EMAIL}" - git config --global user.name "${GIT_NAME}" - export GIT_TAG=v1.0.$TRAVIS_BUILD_NUMBER - git tag $GIT_TAG -a -m "Tag Generated from TravisCI for build $TRAVIS_BUILD_NUMBER" - git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} --tags
то, что я хотел бы сделать (как можно более простым) заключается в следующем, экс cuse самая хромая формулировка того, чего я хочу достичь здесь :) надеюсь, что кто-то может помочь мне с очень простой линией bash, чтобы достичь этого.
before_deploy: - git config --global user.email "${GIT_EMAIL}" - git config --global user.name "${GIT_NAME}" - export GIT_TAG=v1.0.$TRAVIS_BUILD_NUMBER - git tag $GIT_TAG -a -m "Tag Generated from TravisCI for build $TRAVIS_BUILD_NUMBER" - git fetch --tags - #if tag $TRAVIS_BUILD_NUMBER already exists then - #don't push and exit with 0 - #else - git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} --tags
Большое вам спасибо, это работает как абсолютное удовольствие. Вместо этого я перевел все мои одиночные строки в before_deploy: в bash-скрипт под названием deploy.sh и теперь имеет только одну строку в before_deploy: которая читает 'travis/deploy.sh ', этот ваш код отлично определяет тег, толкает один раз только и проскакивает нажатием на остальные тесты сборки :) Я должен вам шесть пакетов для этого. – MitchellK
Рад, что это сработало! :) –
У меня есть проблема с нажатием тега, но теперь застрял в том, что мой сценарий записывается в простой .txt-файл и добавляет его в commit. Должен ли я начать новый вопрос по этому вопросу и опубликовать свой код или добавить к этому вопросу? @ sir-athos – MitchellK