bash 替換URL連接中的帳戶信息

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

image

相關文章
相關標籤/搜索