Jenkins-安装和运维 下载jar包运行,配置JENKINS_HOME(推荐)

做好备份,还原,一套打包带走

  1. 安装jdk1.8
  2. 下载jenkis war包
  3. 修改jenkins启动命令, 数据可迁移
  4. 增加linux启停脚本
  5. 增加定时备份脚本
  6. 定时备份
  7. 项目配置

1. 安装jdk1.8

2. 下载jenkis war包

3. 修改jenkins启动命令, 数据可迁移

启停脚本

制作jenkins的linus服务service

Linux 之centos7 制作服务自启动systemd_操作系统_xiaojun11的专栏-CSDN博客

/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-surefire-plugin

maven-archetype-plugin

maven-compiler-plugin

maven-source-plugin

jacoco-maven-plugin

maven-antrun-plugin

maven-checkstyle-plugin
checkstyle代码风格检测

check-staging-properties-maven-plugin
properties的配置文件一致检查

jenkins集群

使用ssh配置集群即可

  1. master生成rsa秘钥
  2. master复制秘钥到slave
  3. jenkins配置ssh方式和slave节点通信
ssh-keygen -t rsa -C "suwenguang@cainiao.com" -b 4096

Jenkins 集群搭建 - 云+社区 - 腾讯云

查看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(不推荐)

RedHat Repository for Jenkins

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有点特殊.
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
资料

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

晒一晒Jenkins那些常用插件 - 简书