0

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 にプッシュするたびに、コードがサーバーに自動的にデプロイされるようにすることです。誰でも問題を解決できますか? 私は本当にイライラしていて、長い間それを修正することはできません.

前もって感謝します。

4

0 に答える 0