Ansible自动化:从Jenkins集成到平台应用
1. Jenkins与Ansible集成
使用Jenkins运行Ansible剧本的优势在于集中执行和日志记录。对于已经熟悉并使用Jenkins的开发团队来说,这是一个自然的选择。不过,需要在Jenkins服务器或执行作业的Jenkins代理上安装Ansible。
Ansible Tower插件在企业生产环境自动化中非常有用。如果使用Ansible Automation Controller来自动化企业生产环境,并且正在开发应用程序,那么可以使用Ansible Tower插件。Ansible Automation Controller在团队使用数量和基于角色的访问控制方面具有更好的扩展性,并且比Jenkins具有更多的安全特性。
为了实现内部控制的职责分离,组织通常会创建暂存环境并限制对生产环境的访问。开发人员可以被授予使用预定义的剧本、机器、凭证和其他选项组合来启动作业或工作流的权限。使用Jenkins启动作业模板是迈向持续交付的重要一步。借助Jenkins Snippet Generator,可以对Ansible Automation Controller进行细粒度的访问,以指定参数启动剧本(即作业模板)。可以将凭证安全地存储在Ansible Automation Controller中,并将其使用权限委托给Jenkins作业,这样开发人员就无需登录清单来部署应用程序。
该插件可在软件在暂存环境中构建和测试后,将应用程序部署到生产环境。可以使用以下代码在Jenkinsfile中使用Snippet Generator编写最终构建步骤: