簡體   English   中英

適用於CI / CD的Gitlab ssh配置

[英]Gitlab ssh configuration for CI/CD

我在使用Gitlab的ssh配置CI / CD時遇到問題

 image: trion/ng-cli-karma cache: paths: - node_modules/ deploy_production: stage: deploy environment: Production only: - master script: - rm ./package-lock.json - npm install - cd dist/ - ls - apt-get update -qq && apt-get install -y -qq sshpass - sshpass -V - export SSHPASS=XXXX - sshpass -e scp -o stricthostkeychecking=no -r . root@IP_SERVER:/DIR:PATH 

在git push上...

Warning: Permanently added 'IP_SERVER' (ECDSA) to the list of known hosts.

Permission denied (publickey).

lost connection

ERROR: Job failed: exit code 1

我讀過不支持gitlab的ssh CI / CD嗎? 有沒有人提出建議或示例。

看起來GitLab確實允許在GitLab和CI / CD中使用SSH密鑰。 您可以在這里找到該信息:

使用GitLab的SSH密鑰

在那里,您將看到他們在關鍵字“ before-script”下使用SSH信息,但是我敢肯定這種事情是可延展的!

看來您沒有傳遞私鑰或未將gitlab ssh密鑰添加到服務器中的已知主機列表。

嘗試如下添加前腳本並進行檢查。 (將yum命令更改為apt-get)

before_script:
 - yum --enablerepo=epel -y install sshpass
 - yum install -y openssh openssh-client
 - eval $(ssh-agent -s)
 - ssh-add <(echo "$SSH_PRIVATE_KEY")
 - mkdir -p ~/.ssh
 - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

script:
 - export SSHPASS= XXXX
 - sshpass -e scp -o stricthostkeychecking=no -r . $USER@$HOST:$PATH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM