Jenkins用于为持续部署和交付提供良好的支持。部署之前的软件开发流程如下所示:
文章图片
连续部署的主要部分, 以确保上述整个过程是自动化的。 Jenkins为所有这些事情提供了各种插件。其中一个是“部署到容器”插件, 在前面的部分中已经看到过。
Jenkins提供了各种插件, 用于以图形方式表示连续部署过程。
为了理解这一点, 让我们首先在Jenkins中创建另一个项目, 以便我们可以看到它的工作原理以及它如何模拟QA阶段:
步骤1:转到Jenkins仪表板, 然后选择New Item。
文章图片
步骤2:提供项目名称, 然后选择Freestyle项目选项。在这里, 我给了项目名称“ demo”。单击确定按钮。
文章图片
步骤3:在此示例中, 我们将其保持简单, 仅用于打印HelloWorld。
选择Git选项, 然后在“存储库URL”部分中输入HelloWorld程序的GitHub存储库。
文章图片
步骤4:从添加构建步骤按钮中选择执行Windows批处理命令选项, 并提供命令以运行Java程序。
文章图片
第5步:单击“应用”, 然后单击“保存”按钮。
文章图片
因此, 现在创建了我们的项目演示。你可以检查构建以查看构建是否成功创建。要检查构建, 请单击立即构建选项。
文章图片
步骤6:现在, 转到你先前创建的Helloworld项目, 然后单击Configure(配置)选项。
文章图片
步骤7:在Project configuration中, 选择Add post-build动作, 然后选择Build other projects选项。
文章图片
步骤8:在“要构建的项目”选项中, 输入“ demo”作为要构建的项目名称。你可以将其他选项保留为默认值。单击应用, 然后单击保存按钮。
文章图片
步骤9:现在, 构建HelloWorld项目。为此, 请单击立即构建选项。
文章图片
步骤10:单击最新版本, 然后选择Console Output(控制台输出)选项。
文章图片
现在, 如果你看到控制台输出, 你还将看到在成功构建HelloWorld项目之后, 还将进行演示项目的构建。
文章图片
交付管道插件
步骤11:现在安装交付管道插件。选择管理Jenkins选项。
文章图片
步骤12:选择Manage Plugins(管理插件)选项。
文章图片
步骤13:在Available(可用)选项卡中, 在过滤器选项中搜索“ Delivery Pipeline”插件。选择Delivery Pipeline插件, 然后单击Install而无需重新启动。
文章图片
成功安装插件后, 单击“返回首页”链接。
文章图片
步骤14:要查看运行中的交付管道, 请在Jenkins仪表板屏幕上“全部”选项卡旁边的选项卡中单击+符号。
文章图片
步骤15:输入View名称, 然后选择Delivery Pipeline View。单击确定按钮。
文章图片
步骤16:在下一页中, 保留默认选项。向下滚动并更改以下设置:
- 确保选中“显示静态分析结果”选项。
- 确保选中“显示总构建时间”选项。
- 在“初始作业”的“管道”部分中, 输入Helloworld项目作为应构建的第一个作业。
- 给管道起个名字
- 单击“应用并确定”按钮。
文章图片
现在, 你将看到整个交付管道的视图, 并且将能够看到整个管道中每个项目的状态。
文章图片
构建管道插件
Jenkins的另一个重要插件是“构建管道”插件。让我们看一下这个插件:
步骤1:在Jenkins仪表板上, 选择Manage Jenkins。
文章图片
步骤2:选择Manage Plugins(管理插件)选项。
文章图片
步骤3:在Available选项卡中, 过滤Build管道并选择Buildpipeline插件, 然后单击Install而无需重新启动按钮。
文章图片
步骤4:安装成功完成后, 单击“返回首页”链接。
文章图片
步骤5:要查看正在运行的构建管道, 请在Jenkins仪表板的“全部”选项卡旁边的“选项卡”中单击+符号。
文章图片
步骤6:在View name(视图名称)选项中, 输入任何名称, 然后选择Build Pipeline View Option(构建管道视图选项)。
文章图片
【Jenkins-持续部署】步骤7:保留所有默认选项并向下滚动。在“上游/下游配置”部分中, 为“选择初始作业”选项输入HelloWorld项目的名称。然后单击确定按钮。
文章图片
现在, 你可以看到整个交付管道的视图, 还可以看到整个管道中每个项目的状态。
文章图片
推荐阅读
- Jenkins和Travis CI的区别
- Jenkins-指标和趋势
- Jenkins和TeamCity的区别
- Jenkins和Maven的区别
- Jenkins和Hudson的区别
- Jenkins和GoCD的区别
- Jenkins和Circle CI的区别
- Jenkins和Bamboo的区别
- Jenkins和Ansible的对比和区别