Я изменил пароль пользователя (давайте назовем его staging_user), который gitlab-runner будет использовать для входа на другой компьютер, на котором работает промежуточный сервер,
и в .gitlab-ci.yml
staging_deploy:
stage: deploy
variables:
SSH_EXEC: "ssh staging_user@staging_server"
DEPLOY_PATH: "/home/staging_user/project_site"
only:
- staging
script:
- ${SSH_EXEC} "if [ -d ${DEPLOY_PATH} ]; then \rm -r ${DEPLOY_PATH}/*; else mkdir -p ${DEPLOY_PATH}; fi"
- echo -e ${GITSSHKEY} > conf/.ssh/id_rsa
- scp -r * staging-user@staging_server://home/staging_user/project_site/
- ${SSH_EXEC} "cd ${DEPLOY_PATH}/; docker-compose build --no-cache --force-rm; docker-compose up -d"
- ${SSH_EXEC} "docker exec website_staging python /var/www/website.com/src/manage.py collectstatic --no-input"
gitlab-runner работает на машине git01 и оттуда gitlab-runner ssh для staging_server пользователь является staging_user (см. Значение SSH_EXEC выше)
Я заметил, что GITSSHKEY
- это переменная, хранящаяся на gitlabпроект под: gitlab.com/test_group/project_site/settings/ci_cd
.Поэтому я считаю, что нужно обновить этот ключ SSH, но я немного запутался и не уверен, где запустить ssh-keygen для генерации нового ключа и вставить его, запускаю ли я ssh-keygen на git01, откуда gitlab-runner ssh'ingили на staging_server
машине.
Я получаю это ошибка :
Service 'web' failed to build: error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/0a/0a2bad7da9b55f3121f0829de061f002ef059717fc2ed23c135443081200000e/data?Expires=1526503430&Signature=LZNRPPcqYzFoeE94jHgdxyN7gONaewh3ZF2688IVPhrOFKt-DB20gcSZIytqiDff8Hk7CS60SFKoROkU4VWMroByNqAcrFeMJGEAG-GKSSLXKPqQUsxYeXyW5rRGGbC8CqARQKsj1GBR-fTvRstcrnfhQVrn9gv~IFtqRXNB-LM_&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q: net/http: TLS handshake timeout
website_web_1 is up-to-date
$ ${SSH_EXEC} "ls -lh /var/www/website.com/src/manage.py"
-rw-rw-r-- 1 staging_user staging_user 280 May 15 16:26 /var/www/website.com/src/manage.py
$ ${SSH_EXEC} "docker exec website_web_1 python /var/www/website.com/src/manage.py collectstatic --no-input"
python: can't open file '/var/www/website.com/src/manage.py': [Errno 2] No such file or directory