分布式操作
Jenkins
开源集成的服务器主要用于持续、自动的构建/测试软件项目、监控外部任务的运行,是java语言编写的必须有jdk才能使用。
- 开源免费
- 跨平台,支持所有的平台
- master/slave支持分布式的build
- web形式的可视化的管理页面
- 安装配置超级简单
- tips及时快速的帮助
- 已有的200多个插件
常用插件
Build-timeout Plugin:任务构建超时插件
Naginator Plugin:任务重试插件
Build User Vars Plugin:用户变量获取插件
Build Pipeline Plugin View :Pipeline 管道流图表展示插件
Build Flow Plugin:工作流插件,支持DSL脚本定义工作流
Build Graph View Plugin:build Flow插件视图(安装后需要重新才能生效)
Multijob Plugin:多任务插件
Build-timeout Plugin:job构建超时插件
Build Timestamp Plugin :任务log时间戳插件,使得job log的每次输出前面都增加当时的时间
Parameterized Trigger Plugin:这是一个扩展型的插件,使各个job连接的时候可以传递一些job相关的信息
Join Plugin:这也是一个触发job的插件,亮点在于它触发job的条件是等待所有当前job的下游的job都完成才会发生。
Files Found Trigger:检测指定的目录,如果发现指定模式的文件则启动build。
BuildResultTrigger Plugin:根据其他的job的成功或失败来启动此build。
Publish Over SSH Plugin:通过ssh发布文件
Rebuild Plugin:重新执行插件
ws-cleanup Plugin :workspace清理插件
Cron Column Plugin: 通过定时任务例行的运行一些job
Job Configuration History Plugin:使用心得:使job具备版本管理的能力,diff和rollback功能更是非常赞
HTTP Request Plugin:使用心得:在构建前后可以通过该插件以http形式调用各种api接口实现和内部系统的联动
Periodic Backup:使用心得:备份是运维一个系统必须要保障的事情,该插件的恢复功能可能不可用,需要手工进行,好处在于可以定时备份
Job Import Plugin:使用心得:可以快速导入其他jenkins集群的已有job,需要认证的jenkins系统导入需要提供凭证才可以
Status Monitor Plugin:构建状态插件
Build Monitor View :使用心得:基于该插件可以实现dashboard功能
Build Environment Plugin:构建环境插件,可以进行构建环境比较。
FTP插件:
Monitoring:Monitoring of Jenkins
基础依赖插件:
jQuery Plugin:jQuery插件
CI/CD是什么?
CI:软件开发的时间和开发人员提交新代码后进行的一些操作例如构建、测试根据测试结果确定新代码能否正确集成在一起。
CD:集成后的代码部署到实际情况中进行测试。如果没有问题就可以手动部署到生产环境。
安装Jenkins
多种安装方法
1、 安装java的jdk必要操作
export JAVA_HOME=/data/server/java
export JRE_HOME=\$JAVA_HOME/jre
export CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar
export PATH=\$JAVA_HOME/bin:\$JRE_HOME/bin:\$PATH
2、软件包安装
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key
add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
/etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
3、容器安装
docker pull docker:dind
docker network create jenkins
docker run --name jenkins-docker --rm --detach --privileged --network jenkins \
--network-alias docker --env DOCKER_TLS_CERTDIR=/certs \
--volume jenkins-docker-certs:/certs/client --volume jenkins-
data:/var/jenkins_home \
--publish 2376:2376 docker:dind --storage-driver overlay2
4、软件包
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
java -jar jenkins.war
5、压缩包解压安装
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-
9.0.56.tar.gz
tar xf apache-tomcat-9.0.56.tar.gz -C /data/server/
ln -s /data/server/apache-tomcat-9.0.56 /data/server/tomcat
解压jenkins文件
unzip /data/softs/jenkins.war -d /data/server/tomcat/webapps/jenkins
启动tomcat服务
/data/server/tomcat/bin/catalina.sh start
最重要的一步配置文件
编写配置文件
vim /lib/systemd/system/jenkins.service
[Unit]
Description= jenkins server project
[Service]
User=root
ExecStart=/data/server/java/bin/java -jar /data/server/jenkins/jenkins.war &
ExecStop=/bin/kill -TERM ${MAINPID}
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
启动服务
systemctl daemon-reload
systemctl start jenkins.service
systemctl status jenkins.service
查看日志
tail -f /var/log/syslog
结果显示:
jenkins安装后的家目录是 /root/.jenkins