Я хочу использовать travis-ci для запуска скрипта и фиксации результата обратно в ту же ветку на github. (Скрипт создает оглавление уценки, но на самом деле это может быть что угодно). Очевидно, это вызывает проблему, поскольку тогда Трэвис увидит новую фиксацию и запустится снова до бесконечности. Я пытался использовать
if: sender != "Travis CI"
В моем .travis.yml, но в документации очень расплывчато указано, с чем именно сопоставляется «отправитель», и я не вижу возможности проверить значения времени выполнения, которые использует travis.
Я использую такой способ: https://gist.github.com/willprice/e07efd73fb7f13f917ea вернуться на github.
Есть ли лучший способ достичь того, чего я хочу? Или как правильно сделать это с Трэвисом?
Могут быть более чистые способы сделать это, но один из них - использовать следующее.
Согласно эта документация, вы можете просто добавить «тег» или конкретную строку в свое сообщение фиксации, чтобы не допустить ее создания Трэвисом.
Просто добавьте [ci skip]
или [skip ci]
в сообщение коммита, и Трэвис его проигнорирует.
Ваша функция в push.sh
станет следующей:
commit_website_files() {
git checkout -b gh-pages
git add . *.html
git commit --message "[skip cp] Travis build: $TRAVIS_BUILD_NUMBER"
}
Также вы все равно можете перейти в другую ветку, за которой Трэвис не будет следить.
Надеюсь это поможет.