Jenkins-安装和运维
下载jar包运行,配置JENKINS_HOME(推荐)
做好备份,还原,一套打包带走
- 安装jdk1.8
- 下载jenkis war包
- 修改jenkins启动命令, 数据可迁移
- 增加linux启停脚本
- 增加定时备份脚本
- 定时备份
- 项目配置
1. 安装jdk1.8
略
2. 下载jenkis war包
略
3. 修改jenkins启动命令, 数据可迁移
启停脚本
制作jenkins的linus服务service
/usr/lib/systemd/system目录下新建一个 jenkins.service的文件
[UNIT]
Description=Media wanager Service
After=network.target
[Service]
Type=forking
# 启动脚本
ExecStart=/root/jenkins/start.sh start
# 停止脚本
ExecStop=/root/jenkins/start.sh stop
PrivateTmp=True
[Install]
WantedBy=multi-user.target
启动脚本
#!/bin/bash
CMD=$1
JENKINS_HOME=/root/jenkins/data
export JENKINS_HOME
case $CMD in
start)
nohup /root/java/jdk1.8/bin/java -jar /root/jenkins/jenkins.war --config=/root/jenkins/config --webroot=/root/jenkins/home --pluginroot=/root/jenkins/plugin --httpPort=28080 > /root/jenkins/info.log &
echo $! > /root/jenkins/pid
;;
stop)
pid=`cat /root/jenkins/pid`
kill -9 $pid
;;
*)
echo "Usage: start start | stop .Or use systemctl start | stop | restart MediaManager.service "
;;
esac
使用service
# 开机自启
systemctl enable jenkins
# 查看状态
systemctl status jenkins
# 启动jenkins
systemctl start jenkins
# 停止jenkins
systemctl stop jenkins
5. 增加定时备份脚本
#!/bin/bash
# 备份jenkins脚本
# jenkins 数据目录
home=/root/jenkins
# jenkins 备份目录
backup_dir=/root/backup
# 时间
date=`date +%Y%m%d`
zip -r ${backup_dir}/jenkins_backup_${date}.zip ${home}
6. 定时备份
# 编辑crontab
crontab -e
# 查看crontab
crontab -l
crontab -e
5 0 1 * * -u root /root/jenkins/backup.sh
插件
- Git Parameter
这是一个参数构建扩展,可以在构建的时候选择git的某一个分支来构建服务。 - Docker
- GitLab
配置Gitlab的相关认证,同时也支持GitLab的Webhook触发。 - SonarQube Scanner
支持SonarQube的代码扫描。 - Publish Over SSH
通过SSH拷贝文件到目标机器,同时可以在目标机器上执行脚本 - Job Generator
定义一个参数化的模板,通过这个模板快速的在 Jenkins 上创建出任务。 - Join
这也是一个触发job的插件,亮点在于它触发job的条件是等待所有当前job的下游的job都完成才会发生。 - Build Pipeline
这个插件提供一个构建流水线的视图。同时它提供了一个任务的手动触发器。 - TestNG Results
导出TestNG的测试报告。 - JaCoCo
生成测试覆盖率的报告。 - JUnit
展示JUnit单元测试报告。 - Workspace Cleanup
每次build之前删除workspace目录下指定的文件 - Role-based Authorization Strategy 用户角色
给Jenkins用户权限管理添加了角色组。 - Matrix Authorization Strategy Plugin
为每个项目设置用户权限 - Disk Usage
对Jenkins节点服务器磁盘的监控。 - Monitoring监控
监控Jenkins节点的CPU、系统负载、平均响应时间和内存使用。
项目配置
maven
maven-checkstyle-plugin
checkstyle代码风格检测
check-staging-properties-maven-plugin
properties的配置文件一致检查
jenkins集群
使用ssh配置集群即可
- master生成rsa秘钥
- master复制秘钥到slave
- jenkins配置ssh方式和slave节点通信
ssh-keygen -t rsa -C "suwenguang@cainiao.com" -b 4096
查看jenkins的参数选项
# 查看参数选项
java -jar jenkins.war.jar --help
java -jar jenkins.war --config=/root/jenkins/config --webroot=/root/jenkins/home --pluginroot=/root/jenkins/plugin --httpPort=28080
yum(不推荐)
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
# 启动jenkins 指定插件路径,指定端口
java -jar jenkins.war.jar --webroot=/root/suveng/jenkins/home --pluginroot=/root/suveng/jenkins/plugin --httpPort=13880
docker安装(不推荐)
Jenkins有点特殊.
Jenkins如果用来做持续集成,需要本地一些语言的环境,但是如果是用来打包docker镜像,则简单的多, 如果是springboot打包成docker,则需要maven和java的配置
这个时候需要挂载本机的一些开发环境.
比如挂载jdk,挂载maven,这里不记录
docker run -u root --name jenkins
-d
-p 9998:8080
-p 9999:50000
-v /data/docker/jenkins/jenkins-data:/var/jenkins_home
-v /usr/local:/env
-v /var/run/docker.sock:/var/run/docker.sock
jenkinsci/blueocean
资料
maven.test.jvmargs 介绍:
- https://blog.csdn.net/xeseo/article/details/9467119
jenkins 钉钉插件:
- https://www.jianshu.com/p/9e72c79a2f78
- https://jenkinsci.github.io/dingtalk-plugin/
jenkins jacoco插件:
https://www.jianshu.com/p/0ecedb072c69
19. crontab 定时任务 — Linux Tools Quick Tutorial
pipeline语法: https://blog.csdn.net/u011541946/article/details/83278214