Travis CI 成功后写入 GitHub Repo 中的文件
Travis CI After Success Write to a File in GitHub Repo
我在我使用 Travis 的项目之一中开始编写以下脚本 CI。
after_success:
- MESSAGE=$(git log --format=%B -n 1 $TRAVIS_BUILD_NUMBER)
- git clone git://${GH_REPO}
- git config user.email "travis@travis.org"
- git config user.name "travis"
- git add .
- git commit --allow-empty -m "updated README.md"
- git push https://joesan:${GITHUB_API_KEY}@${GH_REPO} HEAD:master
所以对于上面的脚本,我想做以下事情:
- cd 进入包含名为 deployment-version.txt
的文件的目录(在 git 克隆之后)
- 将 deployment-version.txt 的内容替换为我从 TRAVIS_BUILD_VERSION 变量
获得的新版本号
所以我的部署-version.txt 具有以下 ocntent:
plant-simulator-version=512
所以有了这个成功后的脚本,假设 TRAVIS_BUILD_VERSION 是 513,那么我期望
plant-simulator-version=513
作为我的新内容,我希望将此文件推送到存储库中!有什么线索可以让我做到这一点吗?
我设法通过编写一个只包含一行文本的新文件来做到这一点。这是暂时的好吧!因此,我将此作为解决方案发布:
after_success:
- MESSAGE=$(git log --format=%B -n 1 $TRAVIS_BUILD_NUMBER)
- git clone https://${GH_REPO}
- cd ${PLANT_SIMULATOR_DEPLOYMENT_REPO_NAME}
- rm deployment-version.txt # Remove the file
- touch deployment-version.txt # Add the file
- echo plant-simulator.version=${TRAVIS_BUILD_NUMBER} >> deployment-version.txt
- git config user.email "travis@travis.org"
- git config user.name ${USER} # this email and name can be set anything you like
- git add .
- git commit --allow-empty -m "release version for deployment tagged with version $TRAVIS_BUILD_NUMBER"
- git push https://${GITHUB_API_KEY}@${GH_REPO} HEAD:master
我在我使用 Travis 的项目之一中开始编写以下脚本 CI。
after_success:
- MESSAGE=$(git log --format=%B -n 1 $TRAVIS_BUILD_NUMBER)
- git clone git://${GH_REPO}
- git config user.email "travis@travis.org"
- git config user.name "travis"
- git add .
- git commit --allow-empty -m "updated README.md"
- git push https://joesan:${GITHUB_API_KEY}@${GH_REPO} HEAD:master
所以对于上面的脚本,我想做以下事情:
- cd 进入包含名为 deployment-version.txt 的文件的目录(在 git 克隆之后)
- 将 deployment-version.txt 的内容替换为我从 TRAVIS_BUILD_VERSION 变量 获得的新版本号
所以我的部署-version.txt 具有以下 ocntent:
plant-simulator-version=512
所以有了这个成功后的脚本,假设 TRAVIS_BUILD_VERSION 是 513,那么我期望
plant-simulator-version=513
作为我的新内容,我希望将此文件推送到存储库中!有什么线索可以让我做到这一点吗?
我设法通过编写一个只包含一行文本的新文件来做到这一点。这是暂时的好吧!因此,我将此作为解决方案发布:
after_success:
- MESSAGE=$(git log --format=%B -n 1 $TRAVIS_BUILD_NUMBER)
- git clone https://${GH_REPO}
- cd ${PLANT_SIMULATOR_DEPLOYMENT_REPO_NAME}
- rm deployment-version.txt # Remove the file
- touch deployment-version.txt # Add the file
- echo plant-simulator.version=${TRAVIS_BUILD_NUMBER} >> deployment-version.txt
- git config user.email "travis@travis.org"
- git config user.name ${USER} # this email and name can be set anything you like
- git add .
- git commit --allow-empty -m "release version for deployment tagged with version $TRAVIS_BUILD_NUMBER"
- git push https://${GITHUB_API_KEY}@${GH_REPO} HEAD:master