Saya memiliki proyek yang di-host sebagai repositori pribadi di gitlab.com. Saya ingin menggunakan gitlab ci / cd untuk secara otomatis menyebarkan proyek saya ke server jarak jauh QA_SERVER ketika kode didorong ke cabang utama. Di bawah ini adalah konten .gitlab-ci.yml sejauh ini:
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
Saya perlu membuat kunci pribadi dan menyimpan sebagai variabel PRIVATE_KEY dalam proyek gitlab. Bagaimana cara menghasilkan kunci ini? Apakah saya perlu menjalankan ssh-keygen dan di mana saya menjalankannya?
Perhatikan bahwa instruksi diberikan
tidak jelas bagi saya.