前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins-安装和运维

Jenkins-安装和运维

作者头像
suveng
发布2021-12-06 13:11:29
3870
发布2021-12-06 13:11:29
举报
文章被收录于专栏:分享/效率/工具/软件

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的文件

代码语言:javascript
复制
[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

启动脚本

代码语言:javascript
复制
#!/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

代码语言:javascript
复制
# 开机自启
systemctl enable jenkins 
# 查看状态
systemctl status jenkins
# 启动jenkins
systemctl start jenkins 
# 停止jenkins
systemctl stop jenkins

5. 增加定时备份脚本

代码语言:javascript
复制
#!/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. 定时备份

代码语言:javascript
复制
# 编辑crontab
crontab -e 
# 查看crontab 
crontab -l

crontab -e

代码语言:javascript
复制
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节点通信
代码语言:javascript
复制
ssh-keygen -t rsa -C "suwenguang@cainiao.com" -b 4096

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

查看jenkins的参数选项

代码语言:javascript
复制
# 查看参数选项
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

代码语言:javascript
复制
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,这里不记录

代码语言:javascript
复制
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

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

pipeline语法: https://blog.csdn.net/u011541946/article/details/83278214

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/06/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Jenkins-安装和运维
  • 下载jar包运行,配置JENKINS_HOME(推荐)
    • 1. 安装jdk1.8
      • 2. 下载jenkis war包
        • 3. 修改jenkins启动命令, 数据可迁移
          • 启停脚本
          • 使用service
        • 5. 增加定时备份脚本
          • 6. 定时备份
            • 插件
              • 项目配置
                • maven
              • jenkins集群
                • 查看jenkins的参数选项
                • yum(不推荐)
                • docker安装(不推荐)
                • 资料
                相关产品与服务
                容器镜像服务
                容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档