jenkins自动部署流程_cicd自动化部署流程

jenkins自动部署流程_cicd自动化部署流程一、原理开发人员提交完代码至版本控制器后,由Jenkins自动获取远程代码,自动打包,然后再自动发布的过程

一、原理

       开发人员提交完代码至版本控制器后,由Jenkins自动获取远程代码,自动打包,然后再自动发布的过程。

jenkins自动部署流程_cicd自动化部署流程

 二、使用Docker安装Jenkins

前提是linux中已经安装Docker,再执行以下命令:

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

jenkins自动部署流程_cicd自动化部署流程

 jenkins自动部署流程_cicd自动化部署流程

访问Jenkins:http://192.168.154.128:8080/

(无法访问可关闭防火墙 命令:systemctl stop firewalld)

jenkins自动部署流程_cicd自动化部署流程

提示密码在路径中的文件中,因此需要进入到docker容器找到该密码:

jenkins自动部署流程_cicd自动化部署流程

 输入完密码后进入到如下界面:

 jenkins自动部署流程_cicd自动化部署流程

 选择安装推荐的插件进入:

jenkins自动部署流程_cicd自动化部署流程

到了下面这个界面,说明Jenkins安装成功!

jenkins自动部署流程_cicd自动化部署流程

三、Jenkins控制台配置jdk和Maven环境

        因为Docker在安装Jenkin时,已自动在容器中安装Jenkins依赖的相关jdk以及maven环境。因此可将已安装好的jdk和maven在Jenkins控制台中进行配置。

jenkins自动部署流程_cicd自动化部署流程

进入到docker容器jenkins中,通过echo $JAVA_HOME命令查看当前容器内jdk的安装路径

 docker ps -a

docker exec -it eb077c1bf067 bash

echo $JAVA_HOME

jenkins自动部署流程_cicd自动化部署流程

 配置jdk:jenkins自动部署流程_cicd自动化部署流程

配置maven:

jenkins自动部署流程_cicd自动化部署流程

 点击最下面的保存按钮

jenkins自动部署流程_cicd自动化部署流程

springboot项目为Maven项目,需要下载maven插件:

系统管理–插件管理–可选插件–搜索Maven Integration进行安装,然后勾选安装后重启Jenkins

jenkins自动部署流程_cicd自动化部署流程

    当点击新建一个任务后出现如下内容,表明maven插件安装成功

jenkins自动部署流程_cicd自动化部署流程

四、Jenkins控制台配置git/svn 源代码路径,以及启动jar/war包时的shell脚本

jenkins自动部署流程_cicd自动化部署流程

 回到DashBoard首页–>点击项目 –> 点击配置

jenkins自动部署流程_cicd自动化部署流程

 3.源码管理(配置git仓库地址,Jenkins会从远程仓库拉取代码)

jenkins自动部署流程_cicd自动化部署流程

4.构建配置(Jenkin拉取代码后会自动执行打包命令)

clean install -Dmaven.test.skip=true

jenkins自动部署流程_cicd自动化部署流程

5.配置-POST Steps下配置shell脚本(Jenkins打包完成后,自动执行shell脚本启动项目,实现自动化部署),最后保存即可

jenkins自动部署流程_cicd自动化部署流程

附shell脚本:

#!/bin/bash
# #!/bin/bash是指此脚本使用/bin/bash来解释执行。其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。bash只是shell的一种,还有很多其它shell,如:sh,csh,ksh,tcsh,…
# #!/bin/bash只能放在第一行,如果后面还有#!,那么只能看成是注释。
 
#服务名称
 
SERVER_NAME=springbootdemo
 
#源jar路径,mm打包完成之后,target目录下的jar包名称,也可选择成为war包,war包 可移动到Tomcat的。
JAR_NAME=springbootdemo-0.0.1-SNAPSHOT
 
 
#target打包生成jar包的目录
 
JAR_PATH=/var/jenkins_home/workspace/springboot_project/springbootdemo/target    

# 以具体的打包位置为准,可以先构建一次项目,通过日志查看打包的目录
 
#打包完成之后,把iar包移动到运行jar包的目录
JAR_WORK_PATH=/var/lib
 
echo “查询进程id–>$SERVER_NAME”
PID=`ps -ef | grep “$SERVER_NAME” | awk ‘{print $2}’`
echo”得到进程ID: $PID”
echo”结束进程”
for id in $PID
do
kill -9 $id
echo “killed $id” 
done
echo”结束进程完成”
 
#复制jar包到执行目录_
 
#echo” 复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH”
#cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
#echo”复 制jar包完成”
#cd $JAR_WORK_PATH
#修改文件权限
#chmod 755 $JAR_NAME.jar
 
#前台启动
cd $JAR_PATH
java -jar $JAR_NAME.jar
 
#后台启动
#BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
 

选择构建历史,查看工作路径

jenkins自动部署流程_cicd自动化部署流程

jenkins自动部署流程_cicd自动化部署流程jenkins自动部署流程_cicd自动化部署流程

 检查结果

控制台输出成功!!!

jenkins自动部署流程_cicd自动化部署流程

 访问项目成功!!!

jenkins自动部署流程_cicd自动化部署流程

问题记录:

1.当jenkins在构建项目的过程中,从github上拉取代码时超时问题(因gihub部署在国外),可以在配置–Additional Behaviours–高级的克隆行为–克隆和拉取操作的超时时间(分钟)设置超时时间

2.当日志中报pom.xml文件找不到问题。jenkins默认会去找当前jenkins项目名称目录下的pom.xml。如果你上传git的时候pom.xml文件上面还有一层目录,可以在配置pom.xml文件前加父目录

jenkins自动部署流程_cicd自动化部署流程

3.最终在访问spring项目的时候,要看springboot项目启动时暴露的端口是多少,要与宿主机做端口的映射(启动时-p),最终访问宿主机的端口

今天的文章jenkins自动部署流程_cicd自动化部署流程分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/70417.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注