jenkins学习

持续集成体系介绍

1. 什么是持续集成?

频繁地(一天多次)将代码集成到主干

2. 持续集成测试带来的有点

快速发现错误:每完成一点更新,就集成到对应的分支,可以快速发现错误,定位错误也比较容易

防止分支大幅偏离主干:如果不是经常集成,分支或者主干又在不断更新,会导致以后集成的难度变大,甚至难以集成

3. 持续集成流程-CI

检测代码变动->自动构建编译->自动测试->自动打包

4. CI(持续集成),CD(持续交付),CD(持续部署)

Continuous Integration :develop->build->test 

Continuous Delivery:develop->build->test->release

Continuous Deployment:develop->build->test->release->deploy to production

5. 持续集成工具-Jenkins

  Jenkins的优势:

    开源,历史悠久

    超大量的安装数目

    超丰富的插件支持

    几乎支持所有的source control management和Version control management tools

Jenkins搭建部署

docker部署

#首先拉取jenkins镜像

docker pull jenkins/jenkins:lts  #lts是jenkins的版本不是参数

#创建docker的文件映射卷
docker volume create jenkins_test
#查看是否有jenkins的文件卷
docker volume inspect jenkins_test
 

[
{
"CreatedAt": "2020-08-31T17:01:40+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/jenkins_test/_data",
"Name": "jenkins_test",
"Options": {},
"Scope": "local"
}
]


#创建实例

docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_test:/var/jenkins_home jenkins/jenkins:lts
#8080是jenkins对外服务的端口,50000端口是jenkins的slave连接主服务器时用的


#查看jenkins的状态
docker ps

 #查看jenkins容器的运行日志

 docker logs adf7b210a3b2

 #jenkins启动起来后,浏览器访问8080端口要求输入初始密码

 

#获得初始管理员密码

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

docker run命令运行以及参数详解 https://www.cnblogs.com/mypath/articles/10102033.html 

手动部署:java -jar jenkins.war

正式部署:

  调参:调增jvm的参数

  应用容器:使用tomcat, jetty启动

  反向代理:使用nginx设置域名、https

jenkins job管理

修改系统配置

Manage Jenkins

默认shell:bash

默认邮箱:邮箱地址与账户

默认地址:服务器域名

安全:设置安全制度

时区:时区修改

#删除已有实例

docker rm -f jenkins

#重新创建实例并设置时区

docker run -d -name jenkins -p 8080:8080 -p 50000:50000

-v jenkins_test:/var/jenkins_home

-e JAVA_OPTS=-Duser.timezone=Aisa/Shanghai

jenkins/jenkins:lts

#重启jenkins
docker restart jenkins

插件:设置代理、安装插件、更新插件

在Advanced里面添加代理下载插件,在available里安装

slave节点:添加slave节点

Manage Jenkins->System configure->Manage Nodes and Clouds->New Node

 jenkins节点管理

jenkins的任务可以分布在不同的节点上运行

节点上需要配置java运行时环境,java_version>1.5

节点支持Windows,Linux,Mac

Jenkins运行的主机在逻辑上是master节点

启动方式:

  Linux--Launch agents via SSH

  Windows--Launch  agents via Java Web

 补充:docker挂载jdk,maven环境到 jenkins里面

docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home -v  /usr/local/java/apache-maven-3.6.3:/usr/local/maven -v /usr/local/java/jdk1.8.0_261:/usr/local/jdk jenkins/jenkins:lts

然后在Global Tool Configuration里面添加JDK,maven的环境变量,前提是先安装jdk,maven的插件哦

但是报错/usr/local/java/jdk1.8.0_261 is not a directory on the Jenkins master (but perhaps it exists on some agents)

需要在系统配置中添加环境变量

原文地址:https://www.cnblogs.com/jaigejiayou/p/13590948.html