Eu tenho um projeto hospedado como repositório privado no gitlab.com. Eu quero usar o gitlab ci / cd para implantar automaticamente o meu projeto para o servidor remoto QA_SERVER quando o código é enviado para o branch master. Abaixo está o conteúdo de .gitlab-ci.yml até agora:
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
Eu preciso gerar chave privada e armazenar como variável PRIVATE_KEY no projeto gitlab. Como eu gero essa chave? Preciso executar o ssh-keygen e onde posso executá-lo?
Note que a instrução dada
não são claras para mim.