我正在尝试使用gitlab运行器实现动态部署。 我已经在config.toml中添加了一个跑步者:
[[runners]]
name = "Deploy-Runner"
url = "https://my-gitlab.server.com/ci"
token = "my_super_secret_token"
executor = "ssh"
[runners.ssh]
host = "$HOSTNAME"
user = "deployuser"
identity_file = "/home/deployuser/.ssh/id_rsa.pub"
在我的.gitlab-ci.yml中我会写下:
variables:
HOSTNAME: preprod.server.com
deploy to preprod:
stage: deploy
script: cd to_my_repo && git pull
environment:
name: preprod
显然我将deployuser的公钥添加到preprod。
但我得到的是他无法找到ssh键,这很有趣,因为它就在那里!
Using SSH executor...
ERROR: Preparation failed: ssh: no key found
有没有人试图达到同样的目标。也许这甚至不可能?
答案 0 :(得分:0)
错误在 identity_file 中。您已将路径配置为de public key,但必须设置rsa私钥文件。
你必须设置:
identity_file =“/ home / devloyuser / .ssh / id_rsa”