当前位置: 首页 > news >正文

jenkins部署

Jenkins部署

一、JDK安装

1. 解压

tarfx jdk-8u301-linux-x64.tar.gz-C/usr/local

2. 配置环境变量

vim/etc/profileJAVA_HOME=/usr/local/jdk1.8.0_301PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHCLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

3. 重新加载环境变量

source/etc/proflie

4. 测试

二、Maven安装

1. 下载软件包

wgethttps://archive.apache.org/dist/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz

2. 解压

tarfx apache-maven-3.8.4-bin.tar.gz-C/usr/local/

3. 配置环境变量

vim/etc/profileMAVEN_HOME=/usr/local/apache-maven-3.8.4PATH=${PATH}:${MAVEN_HOME}/bin

4. 重新加载环境变量

source/etc/profile

5. 修改创建路径

vim/usr/local/apache-maven-3.8.4/conf/settings.xml<localRepository>/data/repository</localRepository>

6. 测试

mvn-v

三、Jenkins安装

1. 下载软件包

cd/data/jenkins/wgethttps://get.jenkins.io/war-stable/latest/jenkins.war

2. 创建用户

useraddjenkinschown-Rjenkins.jenkins /data/jenkins

3. 创建启动脚本

#!/bin/bashexportJENKINS_HOME="/data/jenkins"exportJENKINS_LOGS="/data/jenkins/logs"[$USER!="jenkins"]&&echo"Please use jenkins user run script"&&exit1cd$JENKINS_HOME[$#-eq0]&&action=start||action=$1case$actioninstart)psuax|grep-vgrep|grep-q"jenkins.war"&&echo"jenkins is running"&&exit2java-jarjenkins.war--logfile=${JENKINS_LOGS}/jenkins.log--httpPort=8080;;stop)pid=$(psuax|grep-vgrep|grep"jenkins.war"|awk'{print $2}')[-z$pid]&&echo"jenkins not runing"&&exit3kill$pid;;restart)pid=$(psuax|grep-vgrep|grep"jenkins.war"|awk'{print $2}')[-n$pid]&&kill$pidjava-jarjenkins.war--logfile=${JENKINS_LOGS}/jenkins.log--httpPort=8080;;*)echo"$0start|stop|restart"esac

4. 启动服务

su- jenkinscd/data/jenkinschmod+x jenkins.sh jenkins.sh start

四、Jenkins安装(yum版)

1. 配置yum源

wget-O/etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reporpm--importhttps://pkg.jenkins.io/redhat-stable/jenkins.io.key

2. 安装Jenkins

yuminstallfontconfig java-11-openjdk yuminstalljenkins

3.修改配置文件

vim/etc/sysconfig/jenkinsJENKINS_HOME="/data/jenkins"JENKINS_USER="jenkins"

4. 启动服务

systemctl start jenkins systemctlenablejenkins

五、Jenkins安装(docker版)

1. 下载镜像

dockerpull jenkins/jenkins:latest

2. 启动服务

dockerrun-d--namejenkins-p8080:8080-p50000:50000\-v/data/jenkins:/var/jenkins_home-v/data/repository:/data/repository\jenkins/jenkins:latest

六、配置jenkins

1. 访问

地址:192.168.9.71:8080

2. 初始化插件

3. 安装插件

4. 创建账号

5. 完成配置

七、系统配置

1. 安装插件

#系统管理–>插件管理

#安装如下插件

publish-over-ssh

Blue Ocean

Role-based Authorization Strategy

  • 修改Jenkins插件源(可选)
    在当前实验中,Jenkins 插件下在速度较快,因此没有修改该参数。如果需要修改,可以如下操作:
    在 /data/jenkins/hudson.model.UpdateCenter.xml 中修改 为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json ,然后重启Jenkins服务
  • 默认插件源:https://updates.jenkins.io/update-center.json

2. 全局安全配置

3. 系统配置


4. 全局工具配置

1)Maven配置


2)JDK配置

5. 邮件配置

1)使用内置邮件功能

【系统管理】–>【系统配置】–>填写 系统管理员邮件地址

【系统管理】–>【系统配置】–>填写 邮件通知

八、用户管理

1. 创建用户

#系统管理–>管理用户–>新建用户

2. 管理角色

#系统管理–>Manage and Assign Roles–>Manage Roles

3. 分配角色

#系统管理–>Manage and Assign Roles–>Assign Roles

九、创建项目

1. 新建任务

2. 配置git地址

3. 添加git账号

#在上图中点击添加–>jenkins

4. 添加构建步骤

5. 构建后操作

6. 发版脚本

#!/usr/bin/bashsource/home/qyc/.bash_profileDEPLOY_DIR=$1DEPLOY_FILE_PATH=$2DEPLOY_PATH='/home/qyc'functionusage(){echo"Usage: args [-d dir] [-f file name]"echo"e.g."echo" [-d]deploy dir: relative path"echo" [-f]deploy file path: relative file path"exit1}functiondie(){echo$1exit255}functionremoveFile(){files=`ls-t$DEPLOY_DIR|grep"$DEPLOY_FILE"`index=0maxCount=5forfilein$filesdoif[$index-gt$maxCount];thenecho"=>backup file count reach:$maxFileCount, delete$file"rm-rf$DEPLOY_DIR/$filefiindex=`expr$index +1`doneecho"=>backup fileCount:$index"}functionbackupFile(){sf=$DEPLOY_DIR/$DEPLOY_FILEif[-f$sf];thenmt=`stat-c%y $DEPLOY_DIR/$DEPLOY_FILE|cut-c1-19`fix=${mt//" "/"."}bkFile="$DEPLOY_DIR/$DEPLOY_FILE.$fix"echo"=>backup file:$sfwith fix:$mt"cp$sf$bkFileremoveFileelseecho"=>$sfnot found"fi}functiondeploy(){echo"=>start deloy"mv$DEPLOY_FILE_PATH$DEPLOY_DIR/$DEPLOY_FILE||die"die for mv file!!"$DEPLOY_DIR/start.sh}whilegetoptsd:f: optiondocase"$option"ind)DEPLOY_DIR=$OPTARG;;f)DEPLOY_FILE_PATH=$OPTARG;;\?)usage;;:)echo"Option -$OPTARGrequires an argument">&2usage;;esacdoneif["$DEPLOY_DIR"=""]||["$DEPLOY_FILE_PATH"=""]thenusageelseDEPLOY_DIR=$DEPLOY_PATH/$DEPLOY_DIRDEPLOY_FILE_PATH=$DEPLOY_PATH/$DEPLOY_FILE_PATHDEPLOY_FILE=${DEPLOY_FILE_PATH##*/}echo"=>deploy$DEPLOY_FILE_PATHto$DEPLOY_DIR/$DEPLOY_FILE"if[!-f"$DEPLOY_DIR/start.sh"];thendie"MISS START SHELL UNDER PATH$DEPLOY_DIR"fibackupFile deployecho"done"fi
#!/usr/bin/bashsource/home/qyc/.bash_profilepid=`ps-ef|grepdaemon|grep-vgrep|awk'{print $2}'`if["$pid"!=""]thenecho"kill pid:$pid"kill$pidfinohupjava-Dapollo.meta=http://127.0.0.1:8080-Dapp.log.dir=/home/qyc/logs-jar/home/qyc/daemon/daemon.jar&

十、监控jenkins

1. 安装插件

官方文档:https://plugins.jenkins.io/prometheus/

2. 配置prometheus

# vim prometheus.ymlscrape_configs: - job_name:'prometheus'static_configs: - targets:['localhost:9090']- job_name:'jenkins'metrics_path:'/prometheus/'file_sd_configs: - files: -'conf.d/jenkins.yml'
# vim conf.d/jenkins.yml- targets: -192.168.9.51:8080

3. 查看

  • 配置grafana面板

此处仅作演示,生产中应当根据需求配置面板:

https://grafana.com/grafana/dashboards/9524/revisions

十一、代码提交自动触发

1. 安装插件

在Jenkins上安装Generic Webhook Trigger插件

2. 项目仓库中配置勾子

3. 在jenkins上配置触发



十二、Sonarqube代码检测

1. 下载

# https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/wgethttps://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.8.100196.zip

2. 解压

unzipsonarqube-9.9.8.100196.zip-d/usr/local/ln-s/usr/local/sonarqube-9.9.8.100196/ /usr/local/sonarqube

3. 修改配置

# vim /usr/local/sonarqube/conf/sonar.propertiessonar.jdbc.username=sonarsonar.jdbc.password=123456sonar.jdbc.url=jdbc:postgresql://127.0.0.1/sonar?currentSchema=public# vim /usr/local/sonarqube/bin/linux-x86-64/sonar.shSONAR_JAVA_PATH=/usr/local/jdk-17.0.12/bin/java

4. 创建用户

useraddsonarchown-Rsonar:sonar /usr/local/sonarqube

5. 修改内核参数

# vim /etc/sysct.confvm.max_map_count=262144fs.file-max=65535

6. 配置启动脚本

# vim /lib/systemd/system/sonar.service[Unit]Description=SonarQubeserviceAfter=syslog.target network.target[Service]Type=forkingExecStart=/usr/local/sonarqube/bin/linux-x86-64/sonar.sh startExecStop=/usr/local/sonarqube/bin/linux-x86-64/sonar.sh stopUser=sonarGroup=sonarRestart=alwaysLimitNOFILE=131072LimitNPROC=8192[Install]WantedBy=multi-user.target

7. 启动服务

systemctlenablesonar systemctl start sonar

8. 访问

地址:192.168.9.100:9000
用户:admin
密码:admin

9. sonar-scanner安装

1)下载
# https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/scanners/sonarscanner# 在jenkins服务器wgethttps://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.0.2966-linux.zip
2)解压
unzipsonar-scanner-cli-5.0.0.2966-linux.zip-d/usr/local/ln-s/usr/local/sonar-scanner-5.0.0.2966-linux/ /usr/local/sonar-scanner
3)修改配置
# vim /usr/local/sonar-scanner/conf/sonar-scanner.propertiessonar.host.url=http://192.168.9.51:9000sonar.sourceEncoding=UTF-8
http://www.jsqmd.com/news/870289/

相关文章:

  • 读写场景下的锁选择策略
  • 3分钟搭建i茅台自动预约系统:Java神器让茅台预约不再手忙脚乱
  • 终极指南:Commit Message Emoji 让每次提交都充满仪式感
  • 终极指南:深度解析Ryzen SDT调试工具的技术原理与实战应用
  • 【Python】模块module/软件库package安装及问题(自用)
  • 如何快速完成AI智能图像分层:layerdivider完整使用指南
  • 2026年毕业论文必备指南:10款降AI率工具深度测评(附价格与避坑表) - 降AI实验室
  • 终极指南:如何在Blender中实现AI艺术渲染的完整工作流
  • CD55和CD97:癌症治疗研究新兴靶点
  • 液冷及前沿散热技术的理论分析:从宏观系统到芯片级散热的范式跃迁
  • 终极iOS庆祝效果指南:SAConfettiView的5种纸屑类型与自定义技巧
  • 超参数调优效率提升300%:Advisor与传统调参工具深度对比
  • CPUDoc:解锁CPU隐藏性能的智能调度神器,让你的处理器发挥200%潜力
  • 长春主流敬老院品牌盘点:适配多元养老需求 - 奔跑123
  • react-contextmenu无障碍访问指南:键盘导航与屏幕阅读器支持
  • 深度解析ZXing.Net:.NET生态中的企业级条码识别与生成解决方案
  • 终极浏览器自动化控制方案:Chrome DevTools Protocol 完整指南
  • 反PUA30天 Day24:被PUA久了,你可能已经中了这三个自我怀疑 |乐想屋
  • REFramework开发指南:从零构建RE引擎游戏的高级Mod系统
  • Linux 磁盘扩展
  • 长春正规疗养院排行:5家机构核心服务全解析 - 奔跑123
  • Finch微服务部署:基于Finagle的生产环境最佳实践
  • Shutter Encoder:突破专业视频处理瓶颈的开源编码解决方案
  • Book118文档下载器:3步免费获取完整PDF的终极解决方案
  • Sigil EPUB编辑器终极教程:5个技巧让你3倍效率提升
  • 强力解锁Unity游戏资源:UABEA助你轻松编辑Asset Bundle文件
  • 番茄小说下载器:三分钟搞定海量小说离线阅读终极指南
  • UnityPy:Python驱动的Unity资源自动化处理与逆向工程框架架构设计
  • FinceptTerminal社区贡献指南:如何参与开源项目并提交优质代码
  • 2026乡城县黄金回收避坑指南;闲置黄金变现;认准铭润金银回收,诚信靠谱 - 亦辰小黄鸭