Puppet如何适应连续交付工具链? [英] How can Puppet fit into a Continuous Delivery tool chain?

查看:205
本文介绍了Puppet如何适应连续交付工具链?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在调查Puppet作为我们未来的部署和配置工具在我们的商店,但现在我被困在如何使一个聪明的持续集成/交付工具链与部署通过Puppet。

I'm investigating Puppet as our future deployment and provisioning tool in our shop, but now I'm stuck at how to make a clever Continuous Integration/Delivery tool chain with deployment through Puppet.

在我们的任何环境(dev,test,qa,demo,prod)中,我们有一系列组件。我们需要能够单独部署每个组件,甚至可以同时部署。

In any of our environments (dev, test, qa, demo, prod) we have a range of components. We need to be able to deploy each component separately and possibly even concurrently.

我想要一种方法来启动(通过脚本) 组件包(= Puppet模块)并收集输出和成功状态。
只需等待计划的代理拉,或在环境上的每个节点上执行puppet agent --test都不够好,因为它可能会拾取其他挂起的更改(我不知道是否另一个组件也正在部署)。

I'd like a way to initiate (through script) a deploy of a single component package (=Puppet module) and gather the output and success status of that. Simply waiting for a scheduled agent pull, or doing a 'puppet agent --test' on each node on the environment isn't good enough, because it may pick up other pending changes (I don't know if another component is also in the process of being deployed).

在我的工具链中,我想从组件A和组件B的部署输出和状态单独记录,而不是混淆了。

In my tool chain I would like the deployment output and status from component A and component B to be recorded separately and not mixed up.

所以我的问题是:我可以使用puppet一次部署一个单一的命名包(模块)吗?

So my question is: Can I use puppet to deploy one single named package (module) at a time?

如果没有,当我沿着这条路走开时,我在哪里错了?

And if not, where did I take a wrong turn when I drove down this path?

我实现了一个无模块的Puppet和显示复制到每个节点也许可以做到,但IMHO一个无主Puppet设置类型的失败Puppet的目的。

I realise a master-less Puppet set-up with modules and manifests replicated to each node perhaps could do it, but IMHO a master-less Puppet set-up kind of defeats the purpose of Puppet.

PS:我想什么在Damon Edwards在将DevOps工具集成到服务交付平台(时间戳约为22:30)。

PS: I think what I'm trying to achieve is called 'Directed Orchestration' in Damon Edwards' very enlightening video at Integrating DevOps tools into a Service Delivery Platform (at timestamp around 22:30).

推荐答案


一个无主的Puppet设置类型打败了Puppet的目的。 p>

a master-less Puppet set-up kind of defeats the purpose of Puppet.

仅当您折扣



否则,类似这样的东西您远程指挥的编排。

Otherwise, something like this gives you remote directed orchestration.

#update manifests etc (version control is the source of truth)
ssh user@host git pull
#run puppet
ssh user@host sudo puppet-apply

这篇关于Puppet如何适应连续交付工具链?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆