bash 中將 git 倉庫連接中的用戶名密碼信息替換爲另外一個帳號的用戶名和密碼信息,可使用sed -r
命令。linux
適用場景:git
gitlab-ci.yml 配置分支推送,將環境變量中的 CI_REPOSITORY_URL
替換爲想要的結果。例如,bash
script: - git fetch - git checkout test - git pull origin test - git merge - - git checkout - - git push $(echo "$CI_REPOSITORY_URL" | sed -r "s/:\/\/.+:.+@/:\/\/$GITLAB_PUSH_ACCOUNT@/g") test
實用範圍:linuxgitlab
核心內容:fetch
$ CI_REPOSITORY_URL="http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@somegit.example.com/group/project.git" $ GITLAB_PUSH_ACCOUNT="thisaccount:thispassword" $ echo "$CI_REPOSITORY_URL" | sed -r "s/:\/\/.+:.+@/:\/\/$GITLAB_PUSH_ACCOUNT@/g"
輸出的結果爲this
http://thisaccount:thispassword@somegit.example.com/group/project.gitspa
以下圖,code