git - 试图在 gitlab 管道中推回
问题描述
我是 ci 流程的新手。但是我遇到了以下问题:当我创建一个新版本的包时,在管道执行期间,它会更新文件中的记录。我需要做一个 git push,但我遇到了不同的问题并且对使用哪些令牌感到困惑。我们有自己的带有 gitlab 的服务器,它运行管道。
function try_push_back() {
git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@$CI_SERVER_HOST/$CI_PROJECT_PATH.git
cd "$CI_PROJECT_NAME"
git config --global user.email "${GITLAB_USER_EMAIL}"
git config --global user.name "${GITLAB_USER_NAME}"
echo "$CI_JOB_ID" > output.txt
git add output.txt
git commit -m "[skip ci] Updating output.txt with latest CI_JOB_ID." >&2
git push "http://${PERSONAL_USERNAME}:${PERSONAL_ACCESS_TOKEN}@$CI_SERVER_HOST/$CI_PROJECT_PATH.git" HEAD:"$CI_COMMIT_REF_NAME" >&2
}
使用以下代码,我得到下一个结果:
解决方案
我可以自己修。以下代码对我有用。
echo "committing version number to sfdx-project.json" >&2
git remote set-url origin "https://gitlab-ci-token:$PERSONAL_ACCESS_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git"
git config --global user.email "${GITLAB_USER_EMAIL}"
git config --global user.name "${GITLAB_USER_NAME}"
echo "$CI_JOB_ID" > output.txt
git add output.txt
git commit -m "[skip ci] Updating output.txt with latest CI_JOB_ID." >&2
git status
git push origin HEAD:"$CI_COMMIT_REF_NAME" >&2
推荐阅读
- c++ - C++ 中设置的函数对象
- corda - 通过节点资源管理器连接到 cordatestnet 的问题
- html - 显示 flex 中表情符号 img 标签的 CSS
- python - 如何使用 python Jenkins API 在特定日期之间获取所有这些构建编号?
- c# - 玩家没有移动到所有航点。
- java - DataOutputStream 无法实例化
- c# - 如何在项目中创建ipc通信win-form
- javascript - How do I fix an issue where my website only shows in HTML form?
- angular - Angular 6嵌套子路由不渲染视图
- sql-server - SQL Server 2012 中的 OVER 子句