前言:jenkins是一套成熟的自动化部署平台,可以用它在服务器上实现自动化部署,部署的项目可以是咱们常见的springboot、springcloud后台,也可部署vue前端。代码提交git后,只需要在jenkins上点击一个部署按钮,就可以实现部署,非常方便。本文主要讲述了,如何在Linux服务上搭建jenkins平台并部署一个springboot项目
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
// 执行以下命令后会出现多个相关的文件夹 rpm -ql jenkins
// 先找到jdk和jre的路径,如果没装java环境,先自行安装一下java,找到jdk和jre的路径后,先复制下来备用 ps -ef|grep java // 我们在第4步的时候列出来jenkins相关文件夹,我们进入其中的配置文件修改配置, vim /etc/init.d/jenkins //将原来的jdk配置改成自己的配置,如下图所示
// 进入另一个配置文件修改端口号和用户 vim /etc/sysconfig/jenkins
// 启动:service jenkins start // 重启:service jenkins restart // 关闭:service jenkins stop service jenkins start // 执行一下命令可以看到jenkins的状态 systemctl jenkins status // 启动完成后,执行以下命令可本地打开登录页面 curl localhost:33333/login // 如需在浏览器中打开,可以使用 【外网ip:端口号】的方式进行访问 // 另外需确保端口号3333是否可以通过防火墙,只有通过防火墙才能被他处访问
在浏览器打开网址http://xxx.xx.xx.xxx:3333/login(上面的xxx代表的ip是jenkins所在的服务器的外网ip),会提示我们输入密码,我们到提示的文件路径下找到密码并复制粘贴过来
输入密码点击继续后,有可能会遇到这个问题
5.1点击update siite,将原来的网址改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
5.2,到jenkins所在服务器、执行以下命令
// 1,到updates目录下 cd /var/lib/jenkins/updates/ // 2.更换镜像1 sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json // 2.更换镜像2 sudo sed -i 's#www.google.com#www.baidu.com#g' default.json // 3.查找证书路径,找到路径:/etc/pki/ca-trust/extracted/java/cacerts find / -type f -name cacerts // 4.修改jenkins配置文件 vi /etc/sysconfig/jenkins // 将JENKINS_JAVA_OPTIONS改为如下所示 // JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djavax.net.ssl.trustStore=/etc/pki/ca-trust/extracted/java/cacerts" // 重启jenkins服务 service jenkins restart
2.1 General
2.2 源码管理
2.3 构建触发器
2.4 pre steps & build
2.5 post steps(脚本命令)
脚本(我的项目名叫titing,下面的代码中请换成自己的项目名称)
#!/bin/sh echo "开始执行shell脚本" # 给脚本进程设置个id export BUILD_ID=dontKillMe # 指定最后编译好的jar的存放位置 JAR_PATH=/root/build/t-sendDDHDate/system/target # 如果路径不存在,就创建路径 [ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH # 指定jenkins中存放编译好的jar的位置 JENKINS_JAR_PATH=/var/lib/jenkins/workspace/t-sendDddDate/target # 如果路径不存在,就创建路径 [ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH # 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关) JENKINS_JAR_NAME=titing.jar # 获取该项目的进程号,用于重新部署项目前杀死进程 process_id=$(ps -ef | grep titing | grep -v "grep" | awk '{print $2}') echo "titing原有进程id:$process_id" # 如果该项目正在运行,就杀死项目进程 if [ -n "$process_id" ] then echo 'titing原有进程已停止' kill -9 $process_id else echo "titing原有进程未找到" fi # 进入Jenkins中编译好的jar的位置 cd ${JENKINS_JAR_PATH} # 将Jenkins中编译好的jar复制到最终存放项目jar的位置 cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH # 进入到存放项目jar的位置 cd ${JAR_PATH} # 后台启动项目,并且将控制台日志输出到nohup.out中 nohup java -jar ${JENKINS_JAR_NAME} >log.out & # 执行完毕 echo "titing项目部署shell脚本执行完毕"
1,在安装过程中走了不少弯路,比如 “jenkins的配置”目录下2.2这个小步骤,直接把url换成5.1中的就好然后替换网址。 2,脚本命令的写法要规范,中括号 [ ] ,的语句前后都要有空格等等。 3,以后就直接git提交一键部署了,爽