0

Jenkins を使用して、一部のインフラストラクチャ プロジェクトで継続的デリバリーを実現しています。ATM マスター スレーブ Jenkins モデルは、ジョブが常にマスターではなくスレーブによって構築される場合に使用されます。私の意図は、LXC を使用してテスト キッチンおよびライプニッツ テストを構築および実行することです。すべての要件は vagrant-lxc、lxc ボックス、leibniz、および test-kitchen が構成されており、すべてが私の PC または他のチーム メンバーで正常に動作しますが、Jenkins のマスター スレーブを介してジョブを実行する場合は、環境に関するいくつかの問題、詳細:

1-ビルドステップの一部として実行すると、動作して正常"which lxc-create"に表示/usr/bin/lxc-createされますが、

2-実行時にkitchen test失敗して表示されます:

+ 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

いくつかの環境変数が欠落しているか、何かが配線されているようです。スレーブに sshing して手動でビルドすると正常に動作するため、セットアップの問題ではなく、マスター/スレーブ環境の伝送の問題であるか、構成で重要なものが欠落していると言うことが重要です。 . 誰でも助けてもらえますか?

lxc バージョン: 1.0.0

vagrant-lxc: 0.8.0

ジェンキンス: 1.5.49

更新 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:
  ....
4

1 に答える 1