Jenkins高级设置
Jenkins高级设置
1.权限控制
1.1 安装插件
安装:Role-based Authorization Strategy:
检查插件是否安装成功:安装成功后Jenkins Manage->看到Manager and Assign Roles代表安装成功:
1.2 管理角色配置
添加管理角色:进入Manager and Assign Roles->Manage Roles:
权限说明:
- Overall是全局权限,slave是集群权限,job,run,view,scm是业务权限
- overall中的read要勾选,否则用户登陆后什么也看不到
配置项说明
- overall说明:Administer——系统管理员权限,read——浏览框架
- job说明:read——查看job,build——执行构建,cancel——取消构建
- run说明:Delete——删除某次构建,Update——编辑某次构建信息
1.3 子账号管理
添加子账号:
配置子账号角色:Assgn Roles
注意
这里add的名字为上面创建的账号名。
2.参数化构建
很多时候我们需要根据不同的条件去执行构建,如自动化测试中执行sit、uat、prd环境的构建,Jenkins是支持参数化构建的。
参数允许您提示用户输入一个或多个将传递的输入。例如,可能有一个发布某些软件的项目,并且您希望用户输入将与软件一起上传的发布说明。这可以通过在此处添加一个多行字符串参数来完成。 每个参数都有一个名称和某种值,具体取决于参数类型。当生成开始时,这些名称-值对将作为环境变量导出,从而允许生成配置的后续部分(如生成步骤)访问这些值,例如使用${PARAMETER_name}语法(或Windows上的%PARAMETER_NAME%)。这也意味着这里定义的每个参数都应该有一个唯一的名称。
当项目被参数化时,通常的“Build Now”链接将被“Build with Parameters”链接所取代,在该链接中,用户将被提示为每个定义的参数指定值。如果他们选择不输入任何内容,则构建将从每个参数的默认值开始。
2.1 开启并配置参数
首先创建一个自由风格的任务,选择参数化构建过程
:
在添加参数
列表中选择一个需要使用的参数类型,可以选择字符参数、选项参数、文件参数等:
以字符参数为例,输入相关内容:
其中:
- 名称:参数的名称,后续该名称作为环境变量名称使用。
- 默认值:不输入内容时的默认值。
- 描述:构建时的提示信息。
2.2 使用配置参数
在构建过程中的shell脚本等场景可以使用该参数,例如:
2.3 构建并查看
点击构建(Build with Parameters),会提示输入配置好的参数内容:
点击开始构建,等待完成后查看控制台输出:
2.4Git参数化构建
代码可能有很多分支、Tag,为每个分支分别创建单独的任务会很繁琐,不容易管理。我们可以通过参数化构建过程,在构建时选择要构建的分支。
1.安装插件
首先需要在插件管理中安装插件:Git Parameter Plug-In,安装后重启服务。
2.配置Git参数
在参数化构建过程中,添加Git参数,并输入相关内容:
在源码管理的Git配置中使用该参数:
3.构建并选择分支
3.通过SSH发布
构建完成后生成程序包需要部署到运行环境,可以通过shell脚本(比如scp工具)或者SSH插件来完成,下面介绍如何使用SSH插件。
3.1 安装插件
插件名称:Publish Over SSH,安装完成重启jenkins服务。
3.2 配置插件
进入Jenkins的系统管理-系统配置
页面,找到Publish over SSH
内容,点击新增,添加一个SSH Server(也就是运行服务器):
输入名称、ip地址、账号、远程目录(没有特殊需求使用根目录即可):
输入密码、端口信息:
点击最下方的Test Configuration
按钮,测试是否可以连通,保存即可。
3.3 配置构建任务
在任意构建任务中,找到构建后操作
:
在增加构建后操作步骤
中,选择通过ssh发布:
输入相关内容并保存:
3.4 构建并查看控制台输出
在输出的结尾部分,可以看到以下内容:
4.自动构建触发配置
通过使用Jenkins和Generic Webhook Trigger Plugin插件,我们可以实现代码推送后的自动构建过程。这种自动化流程大大提高了开发团队的效率和代码质量,减少了手动操作的错误和工作量。同时,由于使用了Webhook来触发构建,我们可以及时获取到最新的代码变更,快速响应并进行构建,使得持续集成更加实时和灵活。
4.1 安装插件
在Jenkins-系统管理-插件管理中安装Generic Webhook Trigger Plugin插件。这个插件允许我们通过Webhook接收器触发Jenkins任务。
4.2 配置Webhook接收器
在Jenkins的任务的配置页面中,设置Webhook接收器的URL,并配置触发条件和参数,比如Token配置个随机值:
4.3 代码托管平台设置
设置代码托管平台的Webhook,将Webhook指向我们刚刚配置的Jenkins Webhook接收器URL,当代码仓库中有新的提交时,代码托管平台会向Jenkins发送一个HTTP请求,触发相关的构建任务。以Gitlab为例:
进入Gitlab需要构建的项目,进入设置-Webhooks,输入上一步在Jenkins中设置的接收器URL、Token,并选择触发的来源,保存:
完成配置后,每当代码仓库中有新的提交时,Jenkins将接收到Webhook请求并触发相关的构建任务,Jenkins会根据配置的构建步骤自动拉取最新的代码、执行编译、运行测试等操作。