持续集成体系介绍
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://blog.zhangcun.store/2022/09/22/jenkins-xue-xi/
- 版权声明: 本网站所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!
你的赏识是我前进的动力
支付宝
微信