码云部署java项目_Jenkins部署码云SpringBoot项目

本文详述了如何使用Jenkins从码云克隆Java项目,通过Maven打包并后台启动。首先介绍了Jenkins作为持续集成工具的作用,接着讲解了环境准备、Jenkins安装与配置、项目配置、构建过程以及测试运行的步骤,最后分享了在部署过程中遇到的问题和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍jenkins如何从gitee上clone项目,然后使用maven打包并后台启动。

1.Jenkins介绍

12f4586da102057a6559e7b57af4f4c1.png

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 (以上介绍来源于百度百科)

其实通俗来说,Jenkins就是一个自动化部署项目的工具,帮我省去重复的运维工作。

2.环境准备

本文需要如下几个工具:

JDK

30ea62776935dbc09dcef5c873e34d41.png

Git

a7d4c86b43431af0e891bb62e0b55d74.png

Maven

696634a1879352c7e07dba62818cbc67.png

以上三种就不在这里介绍安装了,这里我贴出我的环境变量配置仅供参考:

8d98b3c13a60050d6a793724ef3c3da3.png

Jenkins

我的Jenkins是使用如下方式安装:

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

sudo yum install jenkins

启动

service jenkins start

然后访问http://${ip}/8080,可以看到jenkins那个小老头,根据自行配置安装插件,其中密码在这里

vi /var/lib/jenkins/secrets/initialAdminPassword

以上都在网上有很多,我在博客中也写过,就不在这里废话太多了。

3.Jenkins工具插件配置

3.1 插件配置

个人建议,Jenkins第一次进入推荐安装的插件就默认安装就行,省的还需要后续自己安装,当然,如果自己安装的话需要Maven和Git插件。

3.2 工具配置

JDK

050cb7969e4a023b1927fdadb7da744c.png

Git

19f8cc37852e015be8903a076f4cf8c0.png

Maven

1fa47882180c737456e1c52aa4f6686e.png

这里就可以用到上面环境准备时需要的截图,这里我也摸索了很久才配置完成。

4.配置项目

4.1 构建自由风格的项目

新建项目,选择构建自由风格的项目,给项目起个名字,然后点击Ok。

4.2 配置参数化构建过程

这里我用到了几个参数,因为可能有时需要提前准备好参数在进行构建,如下图:

b992bf5731012a90c6b950508f51f607.png

786d88111c7817358829c748a064ac61.png

jar_path :本意是准备项目打包后的jar位置,其实这里是Jenkins工作空间

spring_profile:这个是读取配置文件前缀,比如dev,test,prod

jar_name:jar包名称

project_name:项目名称

4.3 Git配置

用Git进行将项目Clone下来,配置自己的用户密码,Repository URL配置git地址(这里提供的地址是私密项目,项目没什么特别的,就是简单SpringBoot项目,不用尝试了,用自己项目就可以)

5647d984bef21ef91594c68d0941f71c.png

4.4 配置Build

这里选择执行Shell,内容如下:

mvn clean install -Dmaven.test.skip=true

echo $spring_profile $jar_path $jar_name

cd /usr/local/shell/

./stop.sh $jar_name

echo "Execute shell Finish"

./startup.sh $spring_profile $jar_path $jar_name $project_name

如图:

ab7736a862e93fe78314aa23b21d4cd9.png

在上面执行的Shell里面还用到了两个Shell,分别是stop.sh,实质就是找到jar执行的pid,然后kill,具体内容如下:

jar_name=${1}

echo "Stopping" ${jar_name}

pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]

then

echo "kill -9 的pid:" $pid

kill -9 $pid

fi

startup.sh内容如下,具体可以根据情况修改:

spring_profile=${1}

jar_path=${2}

jar_name=${3}

project_name=${4}

cd ${jar_path}/${project_name}/target/

echo ${jar_path}/${project_name}/target/

echo nohup java -jar ${jar_name} &

BUILD_ID=dontKillMe nohup java -jar ${jar_name} --spring.profiles.active=${spring_profile} &

5 测试运行

5.1 运行

点击运行后,如图所示,刚刚预配置的参数都可以看到并可以修改,这里我们用默认配置好的就可以。

ca70e913b7bfd9b6e7ade249c44cb4b2.png

然后点击运行就可以,当时遇到了一个插曲,我的Maven是安装成功的,但是Jenkins内无法使用,报错mvn:command not found,这里我解决的方式是将mvn命令也指向/usr/bin/mvn,如下:

ln -s /usr/local/apache-maven-3.5.4/bin/mvn /usr/bin/mvn

访问效果其实就是我的博客,如图所示:

ea2c64980ee1835cad1cb5ff9b86d587.png

6 总结

总体过程坑其实还是很多的,毕竟没有使用过,但是没有什么特别棘手的问题,总是出现不同的问题,有需要可以与我一起交流学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值