У меня есть проект, размещенный как частный репозиторий на gitlab.com. Я хочу использовать gitlab ci/cd для автоматического развертывания моего проекта на удаленном сервере QA_SERVER, когда код передается в главную ветку. Ниже приведено содержание .gitlab-ci.yml:
image: ubuntu:latest
stages:
- deploy
deploy_QA:
stage: deploy
environment:
name: Staging
url: "$QA_URL"
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
script:
- ssh-add <(echo "$PRIVATE_KEY")
- ssh -o StrictHostKeyChecking=no user@"$QA_SERVER" 'rm -rf /var/www/html/*'
- scp -P22 -r . ubuntu@"$QA_SERVER":/var/www/html
Мне нужно сгенерировать закрытый ключ и сохранить как переменную PRIVATE_KEY в проекте gitlab. Как мне сгенерировать этот ключ? Нужно ли запускать ssh-keygen и где его запускать?
Обратите внимание, что инструкция дана
мне не понятно.