自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

 

一、准备:

CentOS Linux release 7.6.1810,

jdk-11.0.1_linux-x64_bin,

Apache Maven 3.1.1 ,

Git version 1.8.3.1,

jenkins war包,

二、环境配置以及安装jenkins

1)将下载好的jenkins的war包安装在/usr/local/jenkins下

cd /usr/local/

mkdir jenkins

cd jenkins wget http://ftp-nyc.osuosl.org/pub/jenkins/war/2.154/jenkins.war

(此处注意,本次示范使用jdk11版本,需要在下载几个其他jar包,)

wget http://central.maven.org/maven2/javax/xml/bind/jaxb-api/2.3.0/jaxb-api-2.3.0.jar

wget http://central.maven.org/maven2/com/sun/xml/bind/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar

wget http://central.maven.org/maven2/com/sun/xml/bind/jaxb-impl/2.3.0.1/jaxb-impl-2.3.0.1.jar

wget https://github.com/javaee/activation/releases/download/JAF-1_2_0/javax.activation.jar

 

2)修改jar包的名称:

mv jaxb-api-2.3.0.jar jaxb-api.jar

mv jaxb-core-2.3.0.1.jar jaxb-core.jar

mv jaxb-impl-2.3.0.1.jar jaxb-impl.jar

 

3)这时候/usr/local/jenkins目录下有五个压缩包:

javax.activation.jar jaxb-api.jar jaxb-core.jar jaxb-impl.jar jenkins.war

 

4)后台启动jenkins,并输出日志

nohup java -p jaxb-api.jar:javax.activation.jar --add-modules java.xml.bind,java.activation -cp jaxb-core.jar:jaxb-impl.jar -jar jenkins.war --enable-future-java >./nohup.log 2>&1 &

 

5)这时候能成功访问jenkins页面代表正确 http://localhost:8080

查询初始化密码,将结果粘贴即可

cat /var/lib/jenkins/secrets/initialAdminPassword

 

6)创建用户

输入完初始密码把安装插件的窗口关掉,直接进入jenkins,设置自己的用户名密码

系统管理—>管理用户 —> create User

输入账号密码保存,退出admin,重新登录自己的账号

 

 

三、jenkins插件下载

 

1)设置root url

这个可设置可不设置,点击系统管理,如果没设置rooturl的时候可能会出现

Jenkins root URL is empty but is required for the proper operation of many Jenkins features like email notifications, PR status update, and environment variables such as BUILD_URL.的提示

可以进入系统设置里面设置Jenkins URL

官方解释:

此项是可选的,指定安装Jenkins的HTTP地址,例如http://yourhost.yourdomain/jenkins/. 这个值用来在邮件中生产Jenkins链接.

此项是有必要的,因为Jenkins无法探测到自己的URL地址.

也可以直接忽略

 

2)更新站点信息

系统管理—>插件管理

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

 

站点信息从:https://updates.jenkins.io/update-center.json 改为如下地址【三选一即可】

http://mirror.xmission.com/jenkins/updates/update-center.json # 推荐

http://mirrors.shu.edu.cn/jenkins/updates/current/update-center.json

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

更改完毕后,最好重启Jenkins。

 

3)下载插件,这里整理一下几个(Folders ,OWASP Markup Formatter ,Build Timeout,Maven Integration ,publish over ssh ,SSH,Git Parameter)

示范如下:

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

安装之后重新启动jenkins新建项目的时候才会有maven项目

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

四、jenkins环境配置

 

1)jdk配置 系统管理-》全局工具配置-》ADD JDK

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

2)maven 系统管理-》全局工具配置-》ADD MAVEN

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

3)git 系统管理-》全局工具配置-》git

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

4)配置服务器 系统管理-》系统设置-》Publish over SSH-》SSH Servers-》add

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

配置好后点击test configuration 现实success 表示配置成功

四、项目配置部署

1)首页点击新建(new 任务):输入项目名称

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

2)丢弃旧的构建(避免长期占用磁盘空间)

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

3)源代码管理

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

特别注意:点击add后需要配置git相关,如下

本人使用git仓库是码云,登陆码云页面登陆,设置 私人令牌,生成私人令牌后,复制

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

4)Build配置 clean install -Dmaven.test.skip=true -Ptest

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

5)构建配置

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

说明:

Source files配置:target/*.jar jar包名,多个项目都在同一目录建议用项目.jar

Remove prefix:target/

Remote directory:/usr/local/jenkins// 代码应用服务器的目录地址,

Exec command:/usr/local/jenkins/startup.sh 应用服务器对应的脚本。

 

在/usr/local/jenkins下创建一个startup.sh脚本文件,内容如下

DATE=$(date +%Y%m%d)

export JAVA_HOME JRE_HOME PATH CLASSPATH

JAVA_HOME=/usr/local/jdk-11.0.1

JRE_HOME=\$JAVA_HOME/

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

DIR=/root/.jenkins/workspace/school/target/ItMonkeyFamily-0.0.1-SNAPSHOT.jar

JARFILE=ItMonkeyFamily-0.0.1-SNAPSHOT.jar

if [ ! -d $DIR/backup ];then

mkdir -p $DIR/backup

fi

cd $DIR

ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9

mv $JARFILE backup/$JARFILE$DATE

mv -f /usr/local/jenkins//$JARFILE .

java -jar $JARFILE > out.log &

if [ $? = 0 ];then

sleep 30

tail -n 50 out.log

fi

cd backup/

ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf

 

并将该脚本权限改为777 (使用 chmod 命令)

好了,现在可以通过jenkins 构建代码并重新启动了,测试。

 

有可能出现,构建成功却未执行脚本情况,有可能是脚本内容与你的目录不一致

,解决如下:

查看输出日志

自动化部署详细教程:Jenkins+Git+Springboot+Maven+Jdk11

绿色位置就是打包构建后的问价地址,将脚本此处进行修改

DIR=/root/.jenkins/workspace/school/target/ItMonkeyFamily-0.0.1-SNAPSHOT.jar

JARFILE=ItMonkeyFamily-0.0.1-SNAPSHOT.jar

 

另外,如果是项目和jenkins在同一服务器上,为了提高效率可以使用内网ip,这样子效率会提升很多的哦!!
(开源精神,辛苦整理,请给好评!谢谢)