简介
Jenkins是一个持续集成服务器,用于从版本控制系统(VCS)中获取最新代码,然后对其进行构建、测试并将结果通知给开发人员。除了作为一个持续集成(CI)服务器之外,Jenkins还可以做很多其它的事情。最初它被称为Hudson,是川口耕介(KohsukeKawaguchi)基于Java编写的一个开源项目,因此,在安装和运行Jenkins之前,首先需要安装Java8。
多分支流水线是Jenkins中的一种流水线类型,它允许您在Jenkinsfile的帮助下为源码管理(SCM)库中的每个分支自动地创建一支流水线。
什么是Jenkinsfile
Jenkinsfile是一个文本文件,被用来定义一个Jenkins流水线。在Jenkinsfile中可以使用领域特定语言(DSL)编写运行Jenkins流水线所需要的步骤,从而将流水线实现为代码。
来自Jenkins的定义
使用多分支流水线,您可以为同一项目的不同分支实现不同的Jenkinsfile,Jenkins将会自动发现、管理和执行那些分支中包含Jenkinsfile的流水线。
创建一个简单多分支流水线任务的步骤
点击Jenkins工作台左上角的NewItem选项:
在Enteranitemname中填入任务名,向下滚动,然后选择MultibranchPipeline,最后点击OK按钮:
填写任务描述(可选)。添加一个分支源(例如:GitHub)并且填写代码仓库的位置。选择Add按钮添加凭证并点击Jenkins。键入GitHub用户名、密码、ID和描述。从下拉菜单中选择凭证:
点击Save保存该多分支流水线任务。Jenkins会自动扫描指定的仓库并为Organization文件夹添加索引。Organization文件夹使得Jenkins能够监视整个GitHubOrganization或BitbucketTeam/Project,并自动为包含分支的仓库创建新的多分支流水线,然后拉取包括Jenkinsfile在内的源码:
当前,这项功能仅适用于GitHub和Bitbucket中的仓库,分别由GitHubOrganizationFolder和BitbucketBranchSource这两个插件提供。一旦任务被成功创建,构建将会被自动触发:
配置Webhooks
我们需要配置Jenkins服务器以便与我们的GitHub仓库通信,为此,我们要获取Jenkins的HookURL。导航到ManageJenkins页面,然后选择ConfigureSystem。找到GitHub插件配置部分,然后点击Advanced按钮。选择SpecifyanotherhookURLforGitHubconfiguration:
将文本框中的URL复制出来。单击Save,返回到Jenkins工作台。打开浏览器,导航到GitHub选项卡,然后选择您的GitHub仓库。单击Settings,导航到仓库设置:
点击Webhooks部分。点击AddWebhook按钮,然后将HookURL粘贴在PlayloadURL中。确保Webhook触发器已选中Justthepushevent选项。
点击击Addwebhook,就会把此webhook添加到您的仓库。正确添加Webhook后,您将会看到带有绿勾的Webhook:
返回到仓库,然后切换到对应分支并更新任何文件。在此,我们更新README.md文件。现在将会看到Jenkins任务被自动触发:
流水线执行完成后,可以通过点击BuildHistory下的构建号来验证执行过的构建。点击构建号,然后选择ConsoleOutput,您便可以看到每个构建步骤的输出日志:
进一步阅读
LearnHowtoSetUpaCI/CDPipelineFromScratch
APIBuilder:ASimpleCI/CDImplementation–Part1
转载请注明:http://www.0431gb208.com/sjszyzl/1605.html