首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为多个应用程序编写一本厨师食谱

如何为多个应用程序编写一本厨师食谱
EN

Stack Overflow用户
提问于 2017-02-22 13:12:50
回答 2查看 192关注 0票数 0

想象一下Jenkins正在生成3个不同的发行版--一个是在NodeJS上运行的javascript上,另一个是在带有python模块的apache上运行的python上,另一个是使用Springboot的Java上。如何编写一本Chef cookbook,将它们全部安装在具有最小linux ubuntu发行版的本地基础设施上。问题的范围涉及从Jenkins捕获触发器,然后启动Chef书籍来部署这三个应用程序。根据配置,所有3个应用程序都应该部署在相同的基础设施或不同的部署基础设施上。

EN

回答 2

Stack Overflow用户

发布于 2017-02-22 15:38:03

所以有几件事:

  1. 如何编写食谱完全取决于你。我在http://github.com/poise/application_examples上有一些Python、Ruby和Node的例子,但这只是我对这个主题的看法。每当你问“我怎么和厨师一起做X?”答案总是“你如何在没有Chef的情况下做X,然后自动化”。
  2. 如何从Jenkins触发部署比这个已经非常模糊的答案要模糊一些。最简单的答案是让Jenkins SSH进入每台机器并运行chef-client。但是,这可能会带来您不喜欢的安全隐患。您可以考虑更专用的命令推送系统,如MCollective、SaltStack,或者厨师推送作业(尽管我会跳过最后一个)。您还可以将您的节点设置为每5分钟自动聚合一次,这样所有Jenkins都会更新Chef Server中的一些内容,以确定要部署的版本,然后等待10分钟。
票数 0
EN

Stack Overflow用户

发布于 2017-02-22 18:45:47

我有一个与您类似的案例,使用TeamCity而不是Jenkins。(但您可以复制类似的行为)

在我的例子中,我使用policy_files来管理我的基础设施,我将构建信息作为属性传递,这样我就可以下载配方中的工件。主要的技巧是有一个由你提到的服务触发的构建(Python,Java...无论如何),更新属性(build id,artefact ...)在policy_file中,当提交GIT结果时。

简单回顾一下:

服务的

  1. 构建已完成。将触发更新artefact information.
  2. Your常规构建工作流。policy_files的
  3. 构建。

为了下载工件,您可以使用remote_file chef资源,进行校验和验证,以避免在每次chef运行时下载相同的文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42383213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档