安装jenkins需要在java环境,需要提前安装jdk,这里不做详细说明
一,jenkins部署插件及插件安装
1.下载jenkins
2.上传至linux服务器
3.运行命令: nohup java -jar jenkins.war --httpPort=8080 >jenkins.log 2>&1 &
备注:--httpPort=指定端口
4.访问http://localhost:8080,登录需要输入初始密码
5.接着是安装插件,这里需要注意,jenkins的插件通过google来下载,所以是非常慢的;
所以需要更改jenkins的相关配置文件:
运行命令:vim /root/.jenkins/updates/default.json
(jenkins目录可能不一致,具体可以搜索一下)
搜索命令:find / -name .jenkins
修改 connectionCheckUrl地址为百度地址
6.修改/var/lib/jenkins/hudson.model.UpdateCenter.xml
该文件为jenkins下载插件的源地址,改地址默认jenkins默认为:https://updates.jenkins.io/update-center.json,就是因为https的问题,此处我们将其改为http即可,之后重启jenkins服务即可。
其他国内备用地址(也可以选择使用):
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
http://mirror.esuni.jp/jenkins/updates/update-center.json
7.在地址栏输入http://localhost:8080/restart重启jenkins,这样后续安装插件速度就非常快了。
常用插件:
Maven Integration plugin (maven项目构建)
Publish Over SSH (配置linux服务器)
8.打开jenkins配置,添加linux服务器
remote Directory 构建git项目文件,将jar包上传到该目录
9.linux配置git和jdk环境变量,这里安装流程不做详细说明
vim /etc/profile
MAVEN_HOME=/home/programs/maven
JAVA_HOME=/home/programs/jdk1.8.0_241
GIT_HOME=/usr/local/git
PATH=$PATH:$JAVA_HOME/bin:${GIT_HOME}/bin:${MAVEN_HOME}/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH MAVEN_HOME
打开配置全局工具,配置当前服务器 git和 jdk路径,注意git目录是在git/bin/git
10.最后配置maven全局变量
二,码云 git项目构建
选择构建一个maven项目
输入码云项目地址,添加登录账号,选择相关需要构建的分支
接着打开构建模块,输入相关命令,其他模块默认操作即可
clean install -D maven.test.skip=true
构建后操作
source files:项目需要上传jar包
remove prefix :移除target,留下test.jar用来上传
remote directory :服务器存放目录,结合配置的Remote Directory + 该目录
(如配置的默认目录为home,则jar包会上传到home/test目录)
exec command :执行具体执行脚本
这里我是 cd /home/dev-im/test目录,该目录为jar包的存放目录
接着执行写好的脚本
创建linux构建脚本,拷贝如下脚本更改test.jar为自己项目的jar包名称
#!/bin/sh
#使用环境变量
source /etc/profile
RESOURCE_NAME=test.jar
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'App is running.'
else
echo 'App is NOT running.'
fi
rm -f tpid
nohup java -jar ./$RESOURCE_NAME --spring.profiles.active=dev > ./log/`date +%Y-%m-%d`.out 2>&1 &
echo $! > tpid
设置执行权限: chmod u+x start.sh
启动 ./start.sh 获取当前已启动的test.jar包进程,如果存在则需要kill掉,接着通过nohup命令启动该项目,并且设置spring boot环境为dev,日志按时间输出;注意日志只有重新部署才会生成新的文件,如果项目未部署则该log文件会越来越大,网上有说凌晨kill掉进程,拷贝一份日志文件,清空旧的日志,个人觉得这样非常规操作,后续再看看是否还有方案。
完结!