如何使用 Apache ***lyn 和 Chef 安装 Jenkins

Posted

技术标签:

【中文标题】如何使用 Apache ***lyn 和 Chef 安装 Jenkins【英文标题】:How to Install Jenkins using Apache ***lyn and Chef 【发布时间】:2015-06-13 01:28:46 【问题描述】:

我想使用 Chef(和 Apache ***lyn)在 VM 上安装 Jenkins。使用的蓝图是,

name: chef-jenkins
location:
  jclouds:aws-ec2:
    region: xyz
services:
- type: chef:jenkins
  cookbook_urls:
    jenkins: .../jenkins.tgz
    runit:  ... /runit.tgz
    apt:     .../apt.tgz
    yum:     .../yum20150407-59421-1bw7bou.tar.gz
  launch_run_list: [ "jenkins::start" ]
  service_name: jenkinsd

service_name 参数不正确。

运行此程序会引发错误"Failure running task ssh: run chef for launch (jSUGhBph): SSH task ended with exit code 1 when 0 was required, in Task[ssh: run chef for launch:jSUGhBph]: run chef for launch"

我还缺少什么?是否可以直接运行一个简单的厨师食谱(例如https://gist.github.com/nstielau/978920)?

【问题讨论】:

【参考方案1】:

您看到的错误消息表明,***lyn 尝试在云服务器上运行的其中一个 shell 命令失败 - 特别是“run chef for launch”命令。要找出失败的原因,请使用 Activity 选项卡:

    左侧的树视图包含整个应用程序。展开这个。 这将显示构成应用程序的实体。这个蓝图只有一个,叫做jenkins (chef) - 点击这个。 点击活动标签。这将向您显示任务列表。其中一个的状态将是 Failed - 点击它。 任务可以有子任务,因此您可能会看到另一个任务列表,其中一个状态为失败 - 继续跟踪此路径,直到您找到最后一个失败的任务 如果这是一项 SSH 任务,您将获得下载链接 stdoutstderr - 您可以检查这些链接以找出 shell 命令失败的确切原因。

您还可以找到section on troubleshooting in the Apache ***lyn user guide,这可能有助于诊断其他问题。

我已经采用了您的蓝图并进行了一些修改;这现在适用于我的 Ubuntu 14.04 映像:

name: chef-jenkins
location: vagrant-trusty
services:
- type: chef:jenkins
  cookbook_urls:
    jenkins: data:application/octet-stream;charset=UTF-8;base64,H4sIAC/fwVUAA+1b3W/bOBLvM/8Kwn5Qmybytw0YONxl06Dw3jYp4uzeQ68wKImWGEuklqSSeB/ub98hJTmOs63hbOy9bfmDLdHkaPgxnBE5HN9QvmBctV7tEe12ezQYYHsflvd2t1/eK+BOdzBs9wajfqeL251er917hQf7bFSNQmkiosmShQmR0RfpgGw+/wqfqh+r+98EN5X8f6ByoeYspXuoA8Zj2O9/Rf6DUS3/fsfKf9DptV/h9h7a8gTfufyVKGRIcSPROlfjVksVOZUZkQuq/TChc5+JBkIZ1SQimqC/urkOL4xa/42sWcyF3IMB2KL/nVFnuKn/vd7Q6f8h0MQfC42N4VetiEkaaiEZVVgnRGOViCKNcEBxOTUizDiUMGUfwHcJ5bjIU0EixmPUxELCI0TCD6wFEFIciiwrONNLrJimPtD8xPiKPYy8xndMJ9hrYg8TWT5AuVY+AtrLKY4pp5JoqNq2ETdR8w+B/HfT2RQaT9EkFPyfiIukyH1RaEQTnRRZoPwoQNerFLCfnk6nawyRr4hSJyEBXTDF5+8m15dX08dVov82j5AP36P/oSNf3X0iJ799hlRAFujq/JfJdHJ5ga5P30+PkM40iRU6ms3TZUYW1D96SMMTOsuluEG+ucKwQ+1Uaxg6hbJFNvdTEUMjmvjs8sPHyU/n73Bzs+uI2O4d+QK++TI07TFJGEJzTaEzcI/SFK70HqpsyUiELdO1a6pMVRtd8++IDhOJfKlyGiJzaR2Vtzm714WEOQLdgmfhNqekznlfgOIY8aCPUoQ2YUb37MMDf+THDJrasjdzKSeUTWYiKkC0Ng2iAzNkk0RryYJCmxJ1y83DwW8SqoNEEpd3yIcEVGaXLwlN55sTBK0WNg8pGNtwgUIhFgF8bZ+y3HA5q7OecDm7vLi+mvzw8/Xk4r3tnJYEJrLcIERnIiU8otJWWBPZHyCWsgh6U+UbRr+QWBKuNyVxW2ajqrge02tJbtnj1iFf20x/maXPeD3X9r9+w/syeHEbs2391++MNtb/8B7oOvt/CHCSUbwOr5oRHspgkupylldF12DRTwudCPmoeEYhnWJvKYp/0XuS5aBiYIQ8lLKQcrXG3yNpOpMsTjQwiKgKJcs1E7wqnXAY5TRVrTNrBox5wavmpILHs/Vnvk5+S6Vacbbc237Hb5tqc8ojBW3J9dqvG3JLvO9vfVvr/9X56bsP5372ZQV4Prbu/4ab+7/+YDBy+n8INGuNQej68t3lGJ9zDQpfrt3KtyFeV7qESljGfX968q2i1n9Y+bOc7scPuIP/r9b/UXfk/H+HQC1/u8rfUx3PkH/Xyf8wqOVvd3V7quM58h/0nfwPgUfyhwU9hf2medG/5FzYXf7Dwcjp/0HwRflHdE6K9EVsws7y77a7XXf+dxBslb+i0myl/8zyYHf5d/ttZ/8Pgl3kX2XNzI9d/ITtLfv/Xr+zIf9Bbzhw+/9DQNJfCyYp9oxQZwlNcyo9***mArpyB47HlfQ9HAmEMG7i6Wpm4Mrrp3BIuDkumouCR5hoS2eOls3J8orcFzKGDWd59DzTS9h3+onOUqCGD9PYiwTwUiKjOmE8tlUaF55asBx7VzRPSUjLgyh7epRRwoFuXqTYzGPlATXlEUJw+asH+P8cu+j/2hTZ6Zhgm/63B91N/e92nP/vIHjQ/5WcQf0V1XgckHABCnSMx/Sehs7l903ikf/nuQq+BVv1f7i5/xu1+x2n/4fASv9NAFCp/U+yWkF9uv4dHpB943ik/yZSZw9OwN39P4Nue+j2f4fAU/m//EnQ7vIfDvttJ/9D4Mvyf+5u/ym2vf9H7c39f2fYde//g6C5FvaGL0hGx+NVRABs8UH2kFFNBVQS50sbwYNfh29wF2w1XgsLOsanaYqvbIQPvqJ2UxH5CD3bzRAK2JPea+z9xwSbEmD+EBdoA0Yr+mMsoJjjgpsa2JzRCOcp0XMhs5oXxinVr8dmWTOTBX9TuxUwhl8mzOkf+AzKyk6X3o0rW+BzeveI0odmQWlMX9c9iGal3ryxdNb5YBLGmVHTKqyKMKRKzYs0XXoPtdcNwk0YSqbqsFsuNJaEKWr6RaUUcp23uZnvn5T/5vl/NZwvGga4Rf87/d5D/E8XdAfs/8j8/8fp//7xdf2/srPikQVApUPP/Ffkji2YXxGfhMy69SKmQO2WrR/PL/49uZi2qhg9xuO3P5aUbwV/+3NQcF2gar6bKW/+dnKimPEiHpsg8JyYcPMqilzARVrdfAhKmpRORuABKo4r3vh13baY6aQITBhia85BtCK1f3E4qZr7xrfGzFZvnI3c05jxMC0iWtaTskASGwlv2JPIRLhXtXgK34hA4VtGgEUd5U54BA9xaD3YJqP31ocZU71qW5FjQ2QsCDArGzDxIIPY7gUFA6U3RBs91QnovwKjl5ds7/gxVsJGYnlGSATHQkRlNL1pZS4Y12Bzq/5Uhgk3SK4bTzJN2GMDISiDrFwopoVcQnbZ5kZppArJyn8IwcDmi/iJzGnACG8A4YIutxO2Huf68FDDWvosF9zE/uNPjYBxIpetxmcoIKGNPBuDEKzFQzkJFySmD600Dit5y0K62XCYVrmQhuNYaZEf47EdJbhLalNr/D+tyignQUo/O++xg4ODg4ODg4ODg4ODg4ODg4ODg4PD3xa/A3Nc9FMAUAAA
    apt:     https://github.com/opscode-cookbooks/apt/archive/v2.7.0.tar.gz
    java:    https://github.com/agileorbit-cookbooks/java/archive/v1.29.0.tar.gz
  launch_run_list: [ "jenkins::default" ]
  service_name: jenkins
  launch_attributes:
    java:
      jdk_version: 7

此蓝图已准备好运行(除了更改位置以符合您的要求)。以下是我所做的一些更改:

三本食谱的完整网址 jenkins 数据 URL 包含一个简单的食谱,其中包含 recipe you referred to in a gist,tarred-and-gzipped 对于 jenkins 食谱,我必须在 metadata.rb 中指定 depends "apt"depends "java",否则我会遇到奇怪的 Chef 错误 已修复 launch_run_list 以引用正确的配方名称 修复了service_name 以引用正确的服务名称 添加了launch_attributes,用于配置 Java 食谱以安装 Java 7(Jenkins 不支持默认的 Java 6)

【讨论】:

以上是关于如何使用 Apache ***lyn 和 Chef 安装 Jenkins的主要内容,如果未能解决你的问题,请参考以下文章

在 Apache ***lyn 的蓝图中使用虚拟私有云

使用 REST API 启动 Apache ***lyn 应用程序

Apache 继续存在于 chef 实例中

如何使用 Apache jclouds 访问 HP Helion

Apache httpd 反向代理方案的 SSL 问题

RHEL 上的 Chef Apache2 配方:默认配方中未定义服务器名称