我正在使用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,並且確實如此。 –