1.什么是持续集成:
Continuous integration (CI)
持续集成是一种软件开发实践,即团队开发成员常常集成他们的工做,一般每一个成员天天至少集成一次,也就意味着天天可能会发生屡次集成。每次集成都经过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程能够大大减小集成的问题,让团队可以更快的开发内聚的软件。html
2.没有持续集成的情况:java
3.持续集成最佳实践node
4.持续集成概览linux
持续集成得过程:
先把代码放到git、Jenkins从git获取代码进行构建、测试、生成结果再返回给客户端。git
什么是Jenkins:web
Jenkins is an automation engine with an unparalleled plugin ecosystem to support all of your favorite tools in your delivery pipelines, whether your goal is continuous integration, automated testing, or continuous delivery.
持续集成、自动测试、持续部署的超级引擎,支持自定义工具集、多种交付通道。shell
Jenkins的缺点:
Jenkins是开发人员开发得,没有照顾到运维人员得感觉。CMDB得对接是Jenkins得短板。数据库
操做步骤:apache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# 服务器环境:
[root@linux-node2 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
# 安装依赖包
[root@linux-node2 ~]# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
# 下载地址:【版本选择以前得一个或两个版本,选择redhat-stable稳定版】
# 官方下载地址:https://pkg.jenkins.io/redhat-stable/
# 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/
# 安装jenkins
[root@linux-node2 ~]# rpm -ivh jenkins-2.32.3-1.1.noarch.rpm
warning: jenkins-2.32.3-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY
Preparing... ########################################### [100%]
1:jenkins ########################################### [100%]
# 查看服务状态
[root@linux-node2 ~]# service jenkins status
jenkins 已停
# 启动jenkins
[root@linux-node2 ~]# service jenkins start
Starting Jenkins [肯定]
# 查看端口8080是否已启动
[root@linux-node2 ~]# netstat -lunpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1068/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1144/master
tcp 0 0 :::8080 :::* LISTEN 1523/java
tcp 0 0 :::22 :::* LISTEN 1068/sshd
tcp 0 0 ::1:25 :::* LISTEN 1144/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 954/dhclient
|
注意:YUM安装方式【不推荐】
12345678910# 下载镜像源
wget -O /etc/yum.repos.d/jenkins.repo http:
//pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import http:
//pkg.jenkins.io/redhat/jenkins.io.key
or
rpm --import http:
//pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# yum安装jenkins
yum –y install jenkins
service jenkins start
ckconfig Jenkins
on
Jenkins初始化
第一步:
1
2
3
4
5
6
|
# 访问Jenkins
http:
//192.168.152.129:8080
# 查找admin默认密码,输入密码,点击继续
[root@linux-node2 ~]# cat /
var
/lib/jenkins/secrets/initialAdminPassword
637060046b114f6d92255944ab312940
|
第二步:
注意:卡启动问题【采用离线模式】
Jenkins在第一次安装启动时会向官网回传信息
若是网络离线能够正常安装。
当网络在线,可是https://jenkins-ci.io 没法打开时,卡住。
解决:
若是出现卡启动,把网络关掉便可。之后再出现问题,都是jenkins服务器内存不够了。
第三步:
第四步:
第五步:
第六步:
注意:【若是采用是联网模式,有两种方式,一种是安装默认插件,时间比较长。一种是跳过安装插件,点击右上角得叉。】
更新插件、下载安装、代理设置、可用插件
1. 默认插件:
插件用途:
Pipeline 工做流用到
Git plugin 拉代码会用到
SSH Slaves plugin 作集群
......
2.经常使用插件:
3.插件管理:
系统设置>插件管理
# 第一步:
# 第二步:
# 第三步:
4.批量更新插件
1
2
3
4
5
6
7
8
9
10
|
# 解压到插件目录中
[root@linux-node2 ~]# mv plugins.tar.gz /
var
/lib/jenkins/
[root@linux-node2 jenkins]# tar zxf plugins.tar.gz
# 添加jenkins权限
[root@linux-node2 jenkins]# chown -R jenkins.jenkins plugins
# 重启下jenkins服务
[root@linux-node2 jenkins]# /etc/init.d/jenkins restart
Shutting down Jenkins [肯定]
Starting Jenkins [肯定]
|
5.手动安装插件
a.手动安装ssh插件,下载到桌面:
执行过程:设置--管理插件--高级--上传
1
|
地址:http:
//updates.jenkins-ci.org/2.32/latest/ssh.hpi
|
注意:【插件更新】
插件安装必定要对应大版本。
若是更新某个插件以后,报依赖问题,就恢复以前得插件。
# 第一步:
# 第二步:安装中
# 第三步:安装完成
b.经过可选插件进行升级安装
可更新--选择Git plugin
镜像管理:
1
2
3
4
5
6
7
8
9
10
|
Jenkins全部镜像地址:
http:
//mirrors.jenkins-ci.org/status.html
官方镜像地址:http:
//updates.jenkins-ci.org/update-center.json
更换镜像:【目前镜像仍是推荐使用官网,比较好用些】
http:
//updates.jenkins-ci.org/update-center.json
https:
//mirrors.tuna.tsinghua.edu.cn/
http:
//mirror.esuni.jp/jenkins/updates/update-center.json
https:
//mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
|
系统管理--插件管理--高级--升级站点,地址:http://updates.jenkins-ci.org/update-center.json
Jenkin目录:
1
2
3
4
5
6
7
8
9
10
|
[root@linux-node2 ~]# rpm -ql jenkins
/etc/init.d/jenkins 【启动文件】
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins 【配置文件】
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/
var
/cache/jenkins 【程序文件,备份就须要备份该目录下war目录】
/
var
/lib/jenkins 【主目录,升级得话直接把war包放到该目录,升级完成后jenkins会把war自动解压到/
var
/cache/Jenkins目录】
/
var
/log/jenkins 【日志文件】
|
配置文件参数:/etc/sysconfig/jenkins
1
2
3
4
|
JENKINS_USER=“root”
由于Jenkins须要调用系统命令,采用root用户会比较方便,生产环境建议采用jenkins用户,多一步受权过程。
JENKINS_JAVA_OPTIONS=“-Djava.awt.headless=
true
”
jenkins是依赖jvm启动得,若是内存不够用了,须要指定堆,就须要在这里作。
|
用户权限:【不推荐,知道在这里能够修改就能够。生成环境修改配置文件,作修改】
1
2
3
4
5
6
7
8
9
10
|
修改/etc/init.d/jenkins
将用户修改成root,能够调用root工具
106行,113行
修改启动端口85行,$JENKINS_PORT
systemctl daemon-reload
service jenkins restart
|
备份:【若是体积比较大,不建议采用全量备份,可使用rsync来进行增量备份】
1
2
|
tar zcvf jenknis.tar.gz /
var
/lib/jenkins/
天天定时备份的脚本,保留15天的备份
|
/var/lib/jenkins/ 目录结构:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@linux-node2 jenkins]# ll
总用量 172136
-rw-r--r--. 1 root root 604 10月 29 22:02 com.dabsquared.gitlabjenkins.connection.GitLabConnectionConfig.xml
-rw-r--r--. 1 jenkins jenkins 365 10月 29 02:35 com.dabsquared.gitlabjenkins.GitLabPushTrigger.xml
-rw-r--r--. 1 jenkins jenkins 1592 10月 28 22:26 config.xml
-rw-r--r--. 1 root root 159 10月 29 22:02 hudson.model.UpdateCenter.xml
-rw-r--r--. 1 jenkins jenkins 370 10月 29 02:35 hudson.plugins.git.GitTool.xml
-rw-------. 1 jenkins jenkins 1712 10月 28 22:25 identity.key.enc
-rw-r--r--. 1 jenkins jenkins 6 10月 29 22:02 jenkins.install.InstallUtil.lastExecVersion
-rw-r--r--. 1 jenkins jenkins 6 10月 28 22:54 jenkins.install.UpgradeWizard.state
drwxr-xr-x. 2 jenkins jenkins 4096 10月 28 22:24 jobs 【任务】
drwxr-xr-x. 4 jenkins jenkins 4096 10月 29 02:36 logs 【日志】
-rw-r--r--. 1 root root 907 10月 29 22:02 nodeMonitors.xml
drwxr-xr-x. 2 jenkins jenkins 4096 10月 28 22:25 nodes 【集群节点】
drwxr-xr-x. 104 jenkins jenkins 12288 10月 29 03:54 plugins 【插件】
-rw-r--r--. 1 root root 176176562 10月 29 00:50 plugins.tar.gz
-rw-r--r--. 1 jenkins jenkins 129 10月 29 22:00 queue.xml.bak
-rw-r--r--. 1 jenkins jenkins 64 10月 28 22:24 secret.key
-rw-r--r--. 1 jenkins jenkins 0 10月 28 22:24 secret.key.not-so-secret
drwx------. 4 jenkins jenkins 4096 10月 29 02:22 secrets
drwxr-xr-x. 2 jenkins jenkins 4096 10月 29 04:08 updates
drwxr-xr-x. 2 jenkins jenkins 4096 10月 28 22:25 userContent
drwxr-xr-x. 3 jenkins jenkins 4096 10月 28 22:26 users
drwxr-xr-x. 2 jenkins jenkins 4096 10月 29 02:35 workflow-libs
xml文件都是jenkins的安全或者其余设置,jenkins是没有数据库得,都是存在xml文档中得。
|
系统设置:【系统管理--系统设置】
系统设置几个注意事项:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
执行者数量 【不建议超过10个,太多得话,服务器可能会坑不住,通常5个就能够了。】
用法 【若是是从级得话必定要选择只容许运行绑定到这台机器的Job,否则会随机分别,可能会分配到别的机器跑任务,若是主得话就无所谓了。】
生成前等待时间 【建议改为10秒,能够有个反悔得余地。】
SCM签出重试次数 【建议改为不重试0,也能够设置为1。】
Jenkins Location:
Jenkin URL 【设置域名地址】
系统管理员邮件地址 【设置邮件地址】
Subversion:
Subversion Workspace Version 【改为相对比较近点得版本】
邮件通知:
根据提示设置便可。
|
先构建两个任务,分别为php和java:
a.构建php任务:
b.构建java任务:
jenkins备份操做:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# 对/var/lib/jenkins 进行备份
[root@linux-node2 jenkins]# mkdir -p /data/backup/jenkins
# 拷贝时保留以前得目录和文件属性
[root@linux-node2 jenkins]# rsync -raz --delete --progress /
var
/lib/jenkins/ /data/backup/jenkins/
# 不建议使用scp,采用rsync进行增量备份:scp -r /var/lib/jenkins/ /data/backup/jenkins/,scp是支持断点续传得。
# 删除/var/lib/jenkins
[root@linux-node2 jenkins]# rm -rf /
var
/lib/jenkins/
# 重启jenkin,仍是能启动,启动以后,jenkins会生成默认得目录和配置文件,进入到初始化界面。
[root@linux-node2 jenkins]# /etc/init.d/jenkins restart
Shutting down Jenkins [肯定]
Starting Jenkins [肯定]
[root@linux-node2 jenkins]# cd /
var
/lib/jenkins/
[root@linux-node2 jenkins]# ll
总用量 64
-rw-r--r--. 1 root root 1592 10月 30 02:09 config.xml
-rw-r--r--. 1 root root 159 10月 30 02:09 hudson.model.UpdateCenter.xml
-rw-------. 1 root root 1712 10月 30 02:09 identity.key.enc
-rw-r--r--. 1 root root 94 10月 30 02:09 jenkins.CLI.xml
-rw-r--r--. 1 root root 6 10月 30 02:09 jenkins.install.UpgradeWizard.state
drwxr-xr-x. 2 root root 4096 10月 30 02:08 jobs
drwxr-xr-x. 3 root root 4096 10月 30 02:09 logs
-rw-r--r--. 1 root root 907 10月 30 02:09 nodeMonitors.xml
drwxr-xr-x. 2 root root 4096 10月 30 02:09 nodes
drwxr-xr-x. 2 root root 4096 10月 30 02:08 plugins
-rw-r--r--. 1 root root 129 10月 30 02:08 queue.xml.bak
-rw-r--r--. 1 root root 64 10月 30 02:08 secret.key
-rw-r--r--. 1 root root 0 10月 30 02:08 secret.key.not-so-secret
drwxr-xr-x. 4 root root 4096 10月 30 02:09 secrets
drwxr-xr-x. 2 root root 4096 10月 30 02:11 updates
drwxr-xr-x. 2 root root 4096 10月 30 02:09 userContent
drwxr-xr-x. 3 root root 4096 10月 30 02:09 users
|
jenkins恢复操做:
1
2
3
4
5
6
7
8
|
# 进行恢复
[root@linux-node2 ~]# /etc/init.d/jenkins stop
Shutting down Jenkins [肯定]
[root@linux-node2 ~]# rm -rf /
var
/lib/jenkins/*
[root@linux-node2 ~]# rsync -arz --delete --progress /data/backup/jenkins/ /
var
/lib/jenkins/
[root@linux-node2 jenkins]# /etc/init.d/jenkins start
Starting Jenkins [肯定]
[root@linux-node2 jenkins]#
|
构建自由风格项目
Throttle builds,构建时限
丢弃旧的构建
填写源码信息
丢弃旧的构建:
保持构建的天数 【超过必定天数就删除】
保持构建的最大个数 【超过必定数量就删除】
建立SSH KYE:
注意deploy key和ssh key的区别:
deploy keys有两种,一种是表明所有,一种是只针对某个项目。
注意和项目的deploy key区别:
点击启动:
添加Git有两种方式,一种是ssh,一种是http:
使用ssh方式比较多。
ssh添加方式:
若是是报以上错误,是由于ssh须要加known_hosts文件:
使用git 使用http:
添加用户名和密码:
构建:
从jenkins上拷贝/root/.ssh/id_rsa.pub,放入被远程的服务器:
执行shell命令:
添加进任务里:
查看构建结果
什么是maven?
安装maven:
1
2
3
4
5
6
|
wget http:
//mirrors.cnnic.cn/apache/maven/maven3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
tar zxvf apache-maven-3.3.9-bin.tar.gz
配置环境变量 vim /etc/profile
export PATH=$PATH:/root/apache-maven-3.3.9/bin
测试
mvn -v
|
POM:
以上红色标记内容,会变成构建后文件的名字。
MAVEN 命令:
1
2
3
4
5
6
7
8
9
10
11
|
1. 建立Maven的普通java项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 建立Maven的Web项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 清除后再编译
mvn clean install
|
配置系统MAVEN:
1
2
3
4
5
6
7
|
系统管理> Global Tool Configuration
新增maven
取消自动安装
填写maven实际安装路径 /data/server/apache-maven-3.3.9/
|
新建maven项目:
1
2
3
4
5
6
7
8
9
10
|
新建maven项目
指定源码位置(git或svn)
指定build选项
clean install
clean install -Dmaven.test.skip=
true
指定execute shell
java -jar target/testweb-0.0.1-SNAPSHOT.jar
# 注意
这个命令是跳过单元测试命令:clean install -Dmaven.test.skip=
true
|
配置maven:
1
2
3
|
settings.xml 是maven的主要配置文件
位置 $home/.m2 用户
meven安装目录/conf 全局
|
开始构建maven项目:
配置maven:
自动安装maven,系统管理--Global Tool Configuration中
手动安装maven:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# maven安装命令
[root@localhost src]# tar -xf apache-maven-3.3.9-bin.tar.gz
[root@localhost src]# mv apache-maven-3.3.9 /data/
[root@localhost src]# export PATH=$PATH:/data/apache-maven-3.3.9/bin
[root@localhost src]# mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /data/apache-maven-3.3.9
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name:
"linux"
, version:
"3.10.0-514.el7.x86_64"
, arch:
"amd64"
, family:
"unix"
[root@localhost src]# echo
"export PATH=$PATH:/data/apache-maven-3.3.9/bin"
>> /etc/profile
[root@localhost src]# source /etc/profile
|
开始构建 ,第一次执行会下载各类插件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 构建时下载的包,会下载到这里:
[root@localhost ~]# cd .m2/
[root@localhost .m2]# ll
total 0
drwxr-xr-x 13 root root 190 Dec 10 23:00 repository
[root@localhost .m2]# cd repository/
[root@localhost repository]# ll
total 0
drwxr-xr-x 6 root root 70 Dec 10 23:00 asm
drwxr-xr-x 3 root root 38 Dec 10 22:58 backport-util-concurrent
drwxr-xr-x 3 root root 25 Dec 10 22:56 classworlds
drwxr-xr-x 4 root root 31 Dec 10 23:01 com
drwxr-xr-x 3 root root 25 Dec 10 22:57 commons-cli
drwxr-xr-x 3 root root 26 Dec 10 23:00 commons-lang
drwxr-xr-x 3 root root 33 Dec 10 22:58 commons-logging
drwxr-xr-x 3 root root 18 Dec 10 23:00 jdom
drwxr-xr-x 3 root root 19 Dec 10 22:56 junit
drwxr-xr-x 3 root root 19 Dec 10 22:58 log4j
drwxr-xr-x 6 root root 65 Dec 10 22:58 org
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# 构建成功,会再/var/lib/jenkins/workspace/java2目录中生成一个target目录,里面有构建完成的文件testweb-0.0.1-SNAPSHOT.jar
[root@localhost java2]# pwd
/
var
/lib/jenkins/workspace/java2
[root@localhost java2]# ll
total 4
-rw-r--r-- 1 root root 1574 Dec 10 22:55 pom.xml
drwxr-xr-x 4 root root 30 Dec 10 22:55 src
drwxr-xr-x 7 root root 184 Dec 10 23:00 target
[root@localhost java2]# cd target/
[root@localhost target]# ll
total 8
drwxr-xr-x 3 root root 17 Dec 10 22:59 classes
drwxr-xr-x 2 root root 28 Dec 10 23:00 maven-archiver
drwxr-xr-x 3 root root 35 Dec 10 22:59 maven-status
-rw-r--r-- 1 root root 2437 Dec 10 23:00 original-testweb-0.0.1-SNAPSHOT.jar
drwxr-xr-x 2 root root 81 Dec 10 23:00 surefire-reports
drwxr-xr-x 3 root root 17 Dec 10 22:59 test-classes
-rw-r--r-- 1 root root 2663 Dec 10 23:00 testweb-0.0.1-SNAPSHOT.jar
# 启动测试下
[root@localhost target]# java -jar testweb-0.0.1-SNAPSHOT.jar
Hello World! i am guo2
|
注意:若是下载插件错误,须要更改镜像地址:
如下是改为阿里的镜像地址,在/data/apache-maven-3.3.9/conf目录中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
[root@localhost conf]# vim settings.xml
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<settings xmlns=
"http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"
>
<mirrors>
<mirror>
<id>baijia</id>
<mirrorOf>*</mirrorOf>
<url>http:
//maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>
default
</id>
<repositories>
<repository>
<id>
public
</id>
<url>http:
//maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>
true
</enabled>
</releases>
<snapshots>
<enabled>
true
</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>
default
</activeProfile>
</activeProfiles>
</settings>
|
只演示tag标签发布,以java2项目为例:
共分为三个标签:v1.0,v1.2,v1.3
v1.一、v1.2 的tag和以上步骤同样:
Jenkins上配置:
构建成功:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
1.安装ssh plugin插件:
系统管理>SSH remote hosts 增长主机信息
在项目中选择execute shell scripts
on
remote host
using
ssh
2.Shell SSH:
制做jenkins主机免密登陆
直接在 execute shell界面执行ssh命令
或在脚本中接调用ssh语句
ssh root@192.168.152.140 “ifconfig”
scp love root@192.168.152.141/love/
3.ansible:
安装ansible
配置ansible hosts
配置ansible对其它机器的免密权限
执行ansible 命令
|
安装好Deploy Plugin插件,而后在tomcat的conf目录配置tomcat-users.xml文件,在<tomcat-users>节点里添加以下内容: <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="username" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/> 引号里的username和password能够随便替换,用于部署时认证。
操做界面:
选择Add post-build action,而后选择Deploy war/ear to a container,以下图:
部署说明:
建立节点:
操做:
# 点击系统管理--管理节点--新建节点
链接成功:
分配任务到节点:
在任务配置中勾选Restrict where this project can be run
操做:
使用场景:
任务:指定一个maven项目在节点01上构建并成功
Jenkins配置LDAP:
配置说明:
Rootdn 能够登入jenkins的用户组 用户搜索过滤器 uid={0} linux openladp sAMAccountName={0} windows AD ManagerDN LDAP超管
超管受权:
用户设置:
1
2
3
4
5
6
7
|
超管root
team1用户
team2用户
用户关联本身团队相关job,没法查看或执行其它job
每一个team新建两个任务
新建两个用户
|
按角色受权:
1
2
|
安装 Role-based Authorization Strategy 插件
Configure Global Security>受权策略>选择Role-Based Strategy
|
设置全局角色:
1
2
3
|
Jekins>系统管理>Manage and Assign Roles>Manage Roles
建立全局角色member(项目用户进入后能够读取和建立Job)
Overall容许read
|
设置项目角色:
1
2
3
|
新建project roles
注意pattern的匹配模式是xxx.*
这样team1只能看到team1开头的job
|
全局受权:
1
2
|
进入Assign Roles
在Global roles中加入team1/team2并受权member
|
项目受权:
1
|
在Projects roles中加入team1/team2并进行相应受权
|
验证受权:
1
|
注意若是开放新建权限,则team1建立的job名必须符合规则
|
Pipeline是部署流水线
Pipline将整个交付过程代码化
建立pipeline:
建立pipeline 配置pipeline Hello world node { stage 'Stage 1' echo 'Hello World 1' stage 'Stage 2' echo 'Hello World 2‘ }
语法生成:
在项目界面点击Pipeline Syntax Build a job Git Node sh Stage 任务:经过pipeline制做一个部署流水线
转载:https://www.cnblogs.com/luchuangao/p/7748575.html