欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

自动化部署(一)jenkins+github+maven+docker

程序员文章站 2024-01-28 16:11:04
...

本文适用于自动化部署Springboot项目,原理是将jenkins和我们的github关联,当git上的代码更新时,会通知到jenkins服务器,由jenkins服务器通过本地更新仓库自动生成jar包并通过Dockerfile脚本部署项目。

准备环境

java+maven

需要JDK8和Maven3环境,详细配置见安装JDK8+Maven3

git+jenkins

服务器需要git环境和Jenkins服务,详细配置见Git+Jenkins

Jenkins插件安装

系统管理->插件管理->可选插件
需要安装以下插件

GitHub plugin

自动化部署(一)jenkins+github+maven+docker

Publish Over SSH

自动化部署(一)jenkins+github+maven+docker

Maven相关

自动化部署(一)jenkins+github+maven+docker

配置SSH

参照https://www.cnblogs.com/YatHo/p/6739814.html

新建任务

在Jenkins页面新建一个*风格(freestyle)的任务
ps:本篇的项目用例使用SpringCloud的eureka注册中心,项目源码见git

创建任务

自动化部署(一)jenkins+github+maven+docker

General

自动化部署(一)jenkins+github+maven+docker

源码管理

自动化部署(一)jenkins+github+maven+docker

自动化部署(一)jenkins+github+maven+docker

构建触发器

自动化部署(一)jenkins+github+maven+docker

构建

自动化部署(一)jenkins+github+maven+docker

构建后操作

自动化部署(一)jenkins+github+maven+docker

Exec command
#将jar包拷贝到自定义路径下,ps:buildimage.sh,run.sh,用到的Dockerfile都在自定义路径下,该文件需要自行创建
cp /var/lib/jenkins/workspace/demo_eureka/target/demo_eureka-0.0.1-SNAPSHOT.jar /usr/local/project/eureka    
#进入到该路径
cd /usr/local/project/eureka
#添加执行权限并执行脚本
chmod +x buildimage.sh
./buildimage.sh
 chmod +x run.sh
./run.sh
buildimage.sh
#使用Dockerfile创建Docker容器
docker build -t demo_eureka:1.0 .
run.sh
#执行该容器并映射端口8761
docker run --name="demo_eureka" -p 8761:8761 -d demo_eureka:1.0
Dockerfile
# 版本信息
#java:latest 为centos官方java运行环境镜像
FROM java:latest
MAINTAINER cds "ljq"

#复制文件到容器中的/usr/local/jar/
ADD  demo_eureka-0.0.1-SNAPSHOT.jar /usr/local/jar/

#重命名jar名
RUN mv /usr/local/jar/demo_eureka-0.0.1-SNAPSHOT.jar  /usr/local/jar/app.jar

#开启内部服务端口项目端口
EXPOSE 8761
#默认的容器启动执行命令
CMD ["java","-jar","/usr/local/jar/app.jar"]

上传项目到GitHub

自动化部署(一)jenkins+github+maven+docker
浏览器输入:http://ip:8761
自动化部署(一)jenkins+github+maven+docker
部署成功!

End

参考博客jenkins+maven+docker+github全自动化部署SpringBoot实例

我的博客李金泉的博客
我的简书LiJinQuanan