Jenkins:持续集成与部署的强大工具
1. Jenkins 插件的优势与挑战
Jenkins 以其丰富的插件而闻名。几乎你想实现的任何功能,都能找到对应的插件。比如连接代码仓库、向 Slack 发送通知、使用自定义公式解析日志等,都有专门的插件支持。然而,插件众多也带来了问题,人们往往会过度安装插件。以 Ansible 插件为例,我们可以将其作为构建步骤,填写诸如剧本路径、清单、要跳过的标签、附加参数等字段。但其实,使用 Jenkins 核心的“Execute Shell”构建步骤,直接运行所需命令,会更简单。因为我们熟悉自动化脚本,使用这些命令能减少需要填写或忽略的字段,还能在 Jenkins 之外复用这些命令。
在很多情况下,自动化操作应在 Jenkins 之外完成,然后只需告诉 Jenkins 运行哪个脚本即可。这些脚本可以和要部署的服务代码放在同一个仓库中,也可以通过一些命名约定进行通用化,供所有服务使用。而现在,有了 Jenkinsfile,我们不仅可以将特定于项目的脚本放在项目仓库中,还能利用 Jenkinsfile 中的工作流脚本使用 Jenkins 的特定功能。
2. 搭建 Jenkins
首先,我们要创建用于探索 Jenkins 的虚拟机。创建 cd 节点,它将托管 Jenkins 服务器和我们要运行的 Ansible 剧本。
vagrant up cd prod
当两个服务器都启动并运行后,我们可以像之前一样对 prod 节点进行配置:
超级会员免费看
订阅专栏 解锁全文
1190

被折叠的 条评论
为什么被折叠?



