【发布时间】:2017-06-21 13:19:36
【问题描述】:
我有一个最新版本的 Jenkis(在 Tomcat 下运行)以及 Vagrant 和 LXC 容器。
Tomcat 在jenkins 用户下运行。我有下一个 Vagrantfile
Vagrant.configure(2) do |config|
config.vm.box = "arjenvrielink/xenial64-lxc"
config.vm.provider :lxc do |lxc|
lxc.backingstore = 'dir'
end
end
所以,当我通过 vagrant up 从 bash 运行 lxc 容器时,一切都很好。 vagrant ssh 工作。但如果我通过 Jenkins 作业运行它,我会得到这个
Started by user admin
[EnvInject] - Loading node environment variables.
Building in workspace /home/jenkins/workspaces/server
[server] $ /bin/bash /opt/tomcat/temp/jenkins204809790857124992.sh
Bringing machine 'default' up with 'lxc' provider...
==> default: Importing base box 'arjenvrielink/xenial64-lxc'...
==> default: Checking if box 'arjenvrielink/xenial64-lxc' is up to date...
==> default: Setting up mount entries for shared folders...
default: /vagrant => /home/jenkins/workspaces/server/vagrant
==> default: Starting container...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 10.0.3.29:22
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
Build was aborted
Aborted by admin
Finished: ABORTED
Jenkins 作业仅包含这些命令
!#/bin/bash
cd vagrant
vagrant up
在调查过程中,我发现下一个不同。然后我从 bash 中跑出 vagrant ssh-config 这个:
Host default
HostName 10.0.3.212
User vagrant
Port 22
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /home/jenkins/workspaces/server/vagrant/.vagrant/machines/default/lxc/private_key
IdentitiesOnly yes
LogLevel FATAL
但后来我从 Jenkins 的工作中跑了出来,我得到了这个
Host default
HostName 10.0.3.217
User vagrant
Port 22
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /home/jenkins/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
我做错了什么?
【问题讨论】:
标签: linux jenkins ssh vagrant lxc