在寫gitlab 自動化腳本構(gòu)建的時候,會發(fā)現(xiàn)無權(quán)限問題:
The requested URL returned error: 403
此時,可以嘗試采用ssh_key的方式來解決這個問題。
ssh-keygen -t ed25519 -C "your_email@example.com"
將公鑰粘貼到gitlab的profile頁面中。
接著在gitlab 倉庫上設(shè)置好對應(yīng)的變量,變量名為SSH_PRIVATE_KEY。 它的值,就是用你的gitlab 身份賬號生成的一個ssh 私有秘鑰。
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "${SSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo "設(shè)置git賬號"
- git config --global user.email "xxxx@email.com"
- git config --global user.name "scq000"
- gitlab_hostname=$(echo "${CI_REPOSITORY_URL}" | sed -e 's|https\?://gitlab-ci-token:.*@||g' | sed -e 's|/.*||g')
- ssh-keyscan "${gitlab_hostname}" >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts