我曾经在每次提交更改时(无论是登台服务器还是生产服务器)都有单个实体签出,构建,测试和部署代码。现在我们已经开始研究Ansible,我开始认为这些工具存在孤立的角色。
基本上我要问的是Ansible有责任在部署之前处理编译和测试代码,还是应该从诸如Bamboo之类的CI服务器中获取工件,并相信工件已准备好部署?< / p>
答案 0 :(得分:1)
我不确定使用ansible进行编译的想法,我只是在CI中执行此操作,因为他们已经为此完成了设施。至于测试,它取决于测试的类型 - 如果那些是单元测试,那么它们应该在构建之后立即运行(最好再在CI内部)并且要么失败要么通过构建。
但是如果那些测试具有集成/功能性(他们验证服务是否真的在我们期望的环境中工作)那么他们肯定应该是剧本的post_tasks的一部分,如果他们没有通过你应将部署标记为失败并采取相应措施。这当然会在服务暴露于生产流量之前提供安全的方法,因此如果测试没有通过,您可以安全地展开该事物。
答案 1 :(得分:1)
不,Ansible的责任不是在部署之前处理代码的编译和测试。
是的,它应该从诸如Bamboo之类的CI服务器中获取工件,并相信该工件已准备好部署。
Ansible是一个极其简单的IT自动化引擎,可自动执行云配置,配置管理, 应用程序部署 ,服务内部协调以及许多其他IT需求。