CI/CD は初めてです。シンプルな .gitlab-ci.yml を作成しました。サーバーに入ることができますが、最後に表示されます
bash: keys/relation-fe: Permission denied
Cleaning up file based variables
ERROR: Job failed: exit status 1
私のgitlabパイプラインで。私の gitlab-ci.yml ファイル構成を以下に示します。
deploy-prod:
tags:
- ci
stage: deploy
only:
- master
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- mkdir -p ~/.ssh
- echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
script:
- bash .gitlab-deploy-prod.sh
そして deploy-prod.sh ファイル
#!/bin/bash
# Get server list
set -f
string=$DEPLOY_SERVER_IP
array=(${string//,/ })
# Iterate servers for deploy and pull last commit
for i in "${!array[@]}"; do
echo "Deploy project on server ${array[i]}"
ssh bitnami@${array[i]} " "$("ssh-add")" keys/relation-fe && cd htdocs/relation-fe/ && git pull "
done
私の目標は、変更をコミットしてコードを GitLab にプッシュするたびに、コードがサーバーに自動的にデプロイされるようにすることです。誰でも問題を解決できますか? 私は本当にイライラしていて、長い間それを修正することはできません.
前もって感謝します。