我正在使用Jenkins在某些基础设施项目上实现持续交付。 ATM Master-Slave Jenkins模型用于工作总是由一些奴隶而不是由主人建立的地方,我的意图是使用LXC建立和运行测试厨房和莱布尼茨测试。所有的要求都与vagrant-lxc,lxc盒,莱布尼茨和测试厨房配置相匹配,我的个人电脑或任何其他团队成员都可以正常工作,但是当涉及到通过詹金斯的主从运行工作时,似乎存在一些问题的环境,具体为:基础设施项目的持续交付
:1 - 当我运行的生成步骤"which lxc-create"
它的作品和表演的一部分/usr/bin/lxc-create
当它运行kitchen test
是失败,则会显示,因为它应该,但
2-
+ kitchen test
-----> Starting Kitchen (v1.1.1)
-----> Cleaning up any prior instances of <default-ubuntu-1204>
-----> Destroying <default-ubuntu-1204>...
Finished destroying <default-ubuntu-1204> (0m0.00s).
-----> Testing <default-ubuntu-1204>
-----> Creating <default-ubuntu-1204>...
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #create action: [Expected process to exit with [0], but received '1'
---- Begin output of vagrant up --no-provision --provider=lxc ----
STDOUT:
STDERR: The `lxc` package does not seem to be installed or is not accessible on the PATH.
---- End output of vagrant up --no-provision --provider=lxc ----
Ran vagrant up --no-provision --provider=lxc returned 1]
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
看起来有些环境变量缺失或某些w ired,重要的是说,手动调入slave和building可以很好地工作,所以不是一个安装问题,而是一个Master-Slave环境传输问题,或者我错过了对配置至关重要的事情。任何人都可以提供帮助吗?
LXC版本:1.0.0
无业游民,LXC:0.8.0
詹金斯:49年5月1日
更新1: 这里是我的厨房配置:
---
driver:
name: vagrant
require_chef_omnibus: false
require_chef_berkshelf: true
customize:
memory: 1024
provisioner:
name: chef_solo
platforms:
- name: ubuntu-12.04
driver:
box: "ubuntu-12.04"
box_url: "http://dl.company.com/ubuntu1204-lxc-amd64.box"
provider: lxc
suites:
....
用户正在运行'kitchen' vs'lxc-create'。你有厨房lxc司机吗?为什么流浪者参与其中,这对我来说还不清楚。 – sethvargo
@sethvargo Jenkins正在为流浪汉和流浪汉司机和LXC提供商进行“厨房测试”。为了澄清,我已经添加了一个步骤,运行“哪个lxc-create”来检查Jenkins从属环境是否可以运行lxc-create,并且确实如此。 –