今天早些时候,我在一个单独的问题上得到了阿索斯爵士(非常感谢)的帮助,这个问题对我非常有帮助。让TravisCI提交并推送带有标签的修改文件
我现在停留在一个点,我想修改一个简单的文本文件并将其包含在我的推送中。所以基本上我想将修改后的文本文件添加到提交中,并将其作为提交并将其作为内部版本号作为发布进行提交。希望我在这里有道理。
我的代码做尝试做这至今是
#!/bin/bash
YEAR=$(date +"%Y")
MONTH=$(date +"%m")
git config --global user.email "${GIT_EMAIL}"
git config --global user.name "${GIT_NAME}"
git config --global push.default simple
export GIT_TAG=v2.$YEAR-$MONTH.$TRAVIS_BUILD_NUMBER
git fetch --tags
msg="Tag Generated from TravisCI for build $TRAVIS_BUILD_NUMBER"
echo "$msg" >> $TRAVIS_BUILD_DIR/build.txt
git add -A
if git tag $GIT_TAG -a -m "$msg" 2>/dev/null; then
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} HEAD:master && git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} --tags HEAD:master
ls -aR
else echo Tag already exists!; fi
的,如果... ...其他实用Athos先生早先给我的代码工作100%它拿起如果标签存在然后要么推动,如果它不存在或不推动它确实存在。
我只是停留在现在得到特拉维斯包括简单的build.txt文件,我回声$ TRAVIS_BUILD_DIR与附加。
有趣的是,如果我添加到我的travis.yml部署选项是这样的:
file: - build.txt
特拉维斯推动与释放build.txt文件,但不能提交该文件。我知道我在做,并且错过了一些非常愚蠢的事情,但很容易我对Travis很陌生。
更新:
现在我已经修改了我的bash脚本如下,去掉if语句中添加额外的标签。这现在可以工作,并将修改后的build.txt文件推送到回购站。但是一旦完成了特拉维斯,然后开始与untagged-cc6ebe6dbcbb13bc599c
其他生成,现在它正在把特拉维斯扔进一个循环,只是继续构建和构建。我认为特拉维斯会让我发疯,但我知道我有一些逻辑错误。
#!/bin/bash
YEAR=$(date +"%Y")
MONTH=$(date +"%m")
git config --global user.email "${GIT_EMAIL}"
git config --global user.name "${GIT_NAME}"
git config --global push.default simple
export GIT_TAG=v2.$YEAR-$MONTH.$TRAVIS_BUILD_NUMBER
git fetch --tags
msg="Tag Generated from TravisCI for build $TRAVIS_BUILD_NUMBER"
if git tag $GIT_TAG -a -m "$msg" 2>/dev/null; then
echo "$msg" >> $TRAVIS_BUILD_DIR/build.txt
git add $TRAVIS_BUILD_DIR/build.txt
git commit -m "Update build version file with $TRAVIS_BUILD_NUMBER"
$TRAVIS_BUILD_NUMBER"
git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} HEAD:master && git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} --tags HEAD:master
ls -aR
else echo Tag already exists!; fi
我想我必须重新看看这个与我在早上travis.yml和做事before_deploy工作,然后使用部署做最后冲刺阶段。想想我已经知道为什么我会让Travis不停地循环。今天晚上禁用了它,所以特拉维斯整夜都没有精神。前推
在我的回购中添加了我对@Sir Athos的确认 - https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker – MitchellK