У меня есть проект, размещенный как частный репозиторий на 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 и где его запускать?

Обратите внимание, что инструкция дана

Вот

мне не понятно.

0