Derlenmiş dosyalar hakkında tanıklık etmek ve rsync ile bir üretim sunucusuna kopyalamak için yeni bir proje için Gitlab CI kullanan bir Gitlab ortamım var.
Bu kaynakların derlemesinin yürütüldüğü makine, docker'ın (düğüm 6) bir görüntüsüdür, ancak şimdi elde edilen dosyaları linux kullanarak o kapsayıcı Docker komutundan sunucuya kopyalamak zorundayım ... Sorunum ssh yoluyla bağlanmak rsync.
Şu anda aşağıdakiler var:
stages:
- deploy
before_script:
- npm i
- npm run build
job_deploy:
stage: deploy
script:
- ssh-keygen -t rsa -b 4096 -C '' -f ~/.ssh/deploy_rsa
- ssh-keyscan -H 8.8.8.8 >> ~/.ssh/known_hosts
- ssh-copy-id -i ~/.ssh/deploy_rsa.pub $SERVER_USER@8.8.8.8
- rsync -avuz $CI_PROJECT_DIR/dist/ $SERVER_USER@8.8.8.8:/var/wwww/example.com
only:
- master
Bu şekilde alıyorum:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
3
Burada azımsamadığım bir şey var: anında her yapıda yeni bir ssh anahtarı mı üretiyorsunuz? Pub anahtarını dağıtmak için pwd'ye ihtiyacınız olan ssh leys'i kullanmanın amacı nerededir?
—
lrkwz
@Lrkwz gibi, yine de sizden şifre istenecek her derlemede yeni bir anahtar gönderme noktasını kaçırıyorum. Ayrıca, uzak sunucudaki
—
authority_keys