linux jenkins部署码云git构建完整流程

 安装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掉进程,拷贝一份日志文件,清空旧的日志,个人觉得这样非常规操作,后续再看看是否还有方案。


完结!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容