Jenkins插件的使用
系列文章
- Jenkins使用
- Jenkins具体代码
- Jenkins具体代码
简介
- 为了使用更复杂的集成构建,需要一些插件的支持,目前就列出以下插件的使用
SSH/FTP传输文件
- FTP插件:
Publish Over FTP
- SSH插件:
Publish Over SSH
- 设置位置:
Manager Jenkins -> Configure System -> Publish over FTP/Publish Over SSH
- FTP设置(如果没有Port,可以点击高级,就会出现)
- FTP具体项目中配置
Name:在全局配置中配置的名字,下拉框选择的
Source files:要上传的源文件,可使用匹配字符串匹配文件。源文件的根目录是在运行结点下的工作空间,可以使用相对路径,但不能使用绝对路径
Remove prefix:上传时去除源文件的前缀路径,可以保证你所需要的上传文件的目录结构,否则就会全路径目录结构上传
Remote directory:以全局配置中配置的Remote directory作为根目录
- SSH设置(只能是一个秘钥,要添加具体的远程连接就点击新增,基本设置和FTP一样)
- SSH具体项目中配置
Name:在全局配置中配置的名字,下拉框选择的
Source files:要上传的源文件,可使用匹配字符串匹配文件。源文件的根目录是在运行结点下的工作空间,可以使用相对路径,但不能使用绝对路径
Remove prefix:上传时去除源文件的前缀路径,可以保证你所需要的上传文件的目录结构,否则就会全路径目录结构上传
Remote directory:以全局配置中配置的Remote directory作为根目录
Exec command:执行的命令行,是在上传完才会执行的
用户权限设置
- 用户权限插件:
Role-based Authorization Strategy
- 需要先设置改插件进行管理,权限设置的按钮才会出来:
-
Manager Jenkins -> Configure Global Security -> 授权策略 -> 选择 Role-Based Strategy
- 进行权限设置:
-
Manager Jenkins -> Manage and Assign Roles -> Manage Roles/Assign Roles
- Manage Roles(管理权限)
- 分为GlobalRoles(全局权限),ItemRoles(项目权限),NodeRoles(结点权限)。一般就使用GlobalRoles和ItemRoles就可以。
- GlobalRoles是对职能进行划分权限的,例如策划和测试只有访问和构建的权利,程序就多了配置和创建权利,管理者多了删除等权限。
- ItemRoles是对项目进行权限划分的,对匹配上
Pattern
的项目开放了某些权限。 - 以下是我自己的权限配置参考
- Assign Roles(分配权限)
- 分为GlobalRoles(全局权限),ItemRoles(项目权限),NodeRoles(结点权限)。一般就使用GlobalRoles和ItemRoles就可以。
- GlobalRoles是对具体用户分配职能权限了,职能权限就是之前配置的用户组了。
- ItemRoles是对具体用户分配项目权限了。
- 如果GlobalRoles和ItemRoles都对同一用户赋予权限,则会获取并集的权限。
- 以下是我自己的权限配置参考
- 一般情况下公司进行职能的分配使用GlobalRoles的权限即可。
- 如果只想给某个用户的某个项目权限,那最好不要给用户赋予GlobalRoles的Read和Workspace的权限,只在ItemRoles赋予Read和Workspace的权限。
动态参数
-
动态参数插件:
Active Choices Plug-in
-
主要是用于B参数的值可以根据A参数的值进行变化而变化的功能。
-
直接在项目中进行配置:
-
配置->This project is parameterized->添加参数->Active Choices Parameter/Active Choices Reactive Parameter/Active Choices Reactive Reference Parameter
-
Active Choices Parameter
- 被监听的参数
- 脚本示例,列表内元素必须是字符串
return ['a','b','c']
- 被监听的参数
-
Active Choices Reactive Parameter
- 监听的参数
- 脚本示例,列表内元素必须是字符串
if(abc=='a'){retrun ['1','2']}else if(abc=='b'){return ['3','4']}
- 监听的参数
-
Active Choices Reactive Reference Parameter
- 没用过
文件操作
- 文件操作插件:
File Operations Plugin
- 对文件夹进行压缩、移动、拷贝等都是很方便的
- 路径可以是绝对路径,也可以是相对工作空间的路径,和SSH/FTP插件配合起来很好用
保存构建参数(持久化)
- 持久化构建参数插件:
Persistent Parameter Plugin
- 使用和普通参数使用一样,构建后即可保存参数,方便下一次进行构建