博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jenkins部署码云SpringBoot项目
阅读量:4465 次
发布时间:2019-06-08

本文共 2259 字,大约阅读时间需要 7 分钟。

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

1.Jenkins介绍

166e96e32470de7c?w=512&h=512&f=jpeg&s=19137

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

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

2.环境准备

本文需要如下几个工具:

  • JDK

166e97487262ec2b?w=978&h=132&f=jpeg&s=46680

  • Git

166e974be8bde68c?w=976&h=108&f=jpeg&s=41041

  • Maven

166e9755bf4fb746?w=976&h=98&f=jpeg&s=31307

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

166e9736e7e9ad41?w=950&h=204&f=jpeg&s=56221

  • Jenkins

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

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reposudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keysudo 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

166e97cc48e4cf8c?w=1812&h=610&f=jpeg&s=72664

  • Git

166e97d04dbdbcf7?w=1820&h=564&f=jpeg&s=56163

  • Maven

166e97d2f63d4234?w=1784&h=542&f=jpeg&s=64436

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

4.配置项目

4.1 构建自由风格的项目

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

4.2 配置参数化构建过程

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

166e9828fb71f665?w=1866&h=972&f=jpeg&s=135362

166e982bed02e356?w=1888&h=850&f=jpeg&s=126402

  • jar_path :本意是准备项目打包后的jar位置,其实这里是Jenkins工作空间
  • spring_profile:这个是读取配置文件前缀,比如dev,test,prod
  • jar_name:jar包名称
  • project_name:项目名称

4.3 Git配置

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

166e984c02f08e6b?w=1890&h=918&f=jpeg&s=122099

4.4 配置Build

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

mvn clean install -Dmaven.test.skip=trueecho $spring_profile $jar_path $jar_namecd /usr/local/shell/./stop.sh $jar_nameecho "Execute shell Finish"./startup.sh $spring_profile $jar_path $jar_name $project_name

如图:

166e9874e38e9e4e?w=1926&h=756&f=jpeg&s=126960

在上面执行的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 $pidfi

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 运行

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

166e98bb252927d8?w=2540&h=760&f=jpeg&s=164437

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

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

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

166e98ebe35bf711?w=2552&h=1366&f=jpeg&s=298981

6 总结

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

转载于:https://www.cnblogs.com/dalaoyang/p/9919595.html

你可能感兴趣的文章
Groovy 程序结构
查看>>
使用 WordPress 的导航菜单
查看>>
input只能输入数字和小数点,并且只能保留小数点后两位 - CSDN博客
查看>>
js 不固定传参
查看>>
远程调试UWP遇到新错误Could not generate the root folder for app package ......
查看>>
[倍增][最短路-Floyd][dp]
查看>>
SpringAOP用到了什么代理,以及动态代理与静态代理的区别
查看>>
利用STM32CubeMX来生成USB_HID_Mouse工程【添加ADC】(1)
查看>>
【leetcode】Populating Next Right Pointers in Each Node
查看>>
获取请求参数乱码的问题
查看>>
代码实现:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称...
查看>>
Android客户端测试点
查看>>
Jquery:怎样让子窗体的div显示在父窗体之上
查看>>
01概率
查看>>
Shell脚本
查看>>
MatLab Load cv::Mat 导入数据
查看>>
html+css相关笔记(一)
查看>>
基于块流协议保证音频优先发送
查看>>
关于互联网的一些数据
查看>>
数据预处理:独热编码(One-Hot Encoding)
查看>>