在写gitlab 自动化脚本构建的时候,会发现无权限问题:
The requested URL returned error: 403
此时,可以尝试采用ssh_key的方式来解决这个问题。
ssh-keygen -t ed25519 -C "your_email@example.com"
将公钥粘贴到gitlab的profile页面中。
接着在gitlab 仓库上设置好对应的变量,变量名为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 "设置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