暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Jenkins + Docker自动化部署 SpringBoot 应用

程序员恰恰 2024-05-18
52


简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运行。

一、安装docker

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

复制

验证安装是否成功

[root@iZbp10ytibkhq04uznyjwaZ hzdt-ci]# docker version
Client: Docker Engine - Community
 Version:           23.0.5
 API version:       1.42
 Go version:        go1.19.8
 Git commit:        bc4487a
 Built:             Wed Apr 26 16:18:56 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          23.0.5
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.8
  Git commit:       94d3ad6
  Built:            Wed Apr 26 16:16:35 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.20
  GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38
 runc:
  Version:          1.1.5
  GitCommit:        v1.1.5-0-gf19387a
 docker-init:
  Version:          0.19.0

复制

二、安装Jenkins

1.安装Jenkins

执行下面的docker命令安装jenkines,如果8080端口占用,则修改成其他端口.

$ docker run --name jenkins --restart=always \
    -v /var/jenkins/:/var/jenkins_home/ \
    -v /usr/local/jdk/jdk1.8.0_191:/usr/local/jdk \
    -v /usr/local/maven:/usr/local/maven \
    -p 8080:8080 \
    -p 50000:50000 \
    -e JENKINS_UC=https://mirrors.cloud.tencent.com/jenkins \
    -e JENKINS_UC_DOWNLOAD=https://mirrors.cloud.tencent.com/jenkins \
    -d jenkins/jenkins:lts

复制

安装完成后访问地址-> http://IP:8080,就能打开jenkine

2.初始化Jenkins

2.1 解锁Jenkins
进入Jenkins容器:docker exec -it jenkins /bin/bash
查看密码:cat var/lib/jenkins/secrets/initialAdminPassword
复制密码到输入框里面

2.2 安装插件

安装推荐的插件

2.3 创建管理员用户

创建一个jenkines账户,不要忘记密码了。

三、系统配置

1. 安装需要插件

进入【首页】–【系统管理】–【插件管理】–【可选插件】

搜索以下需要安装的插件,点击安装即可。

  • 安装Maven Integration
  • 安装Publish Over SSH
    (如果不需要远程推送,不用安装)
  • 如果使用Gitee 码云,安装插件Gitee(Git自带不用安装)

2. 配置Maven

进入【首页】–【系统管理】–【全局配置】,拉到最下面maven–maven安装

四、创建任务

1. 新建任务

点击【新建任务】,点击构建一个自由风格的软件项目,

2. 源码管理

点击【源码管理】–【Git】,输入仓库地址,添加凭证(gitee的账户和密码,或者公钥),选择好凭证即可。私有仓库需要添加凭证,共有的不需要。

3.构建触发器

点击【构建触发器】–【构建】–【增加构建步骤】–【调用顶层Maven目标】–【填写配置】–【保存】

执行,maven package,看是否能生成jar包

sh /usr/local/maven/maven/bin/mvn package
复制

4. 保存

点击【保存】按钮即可

五、测试

该功能测试是否能正常打包

1. 构建

点击构建按钮

2.查看日志

点击正在构建的任务,或者点击任务名称,进入详情页面,查看控制台输出,看是否能成功打成jar包。

该处日志第一次可能下载依赖jar包失败,再次点击构建即可成功。

3. 查看项目位置

cd var/jenkins/workspace
执行,ll命令:
 即可查看是否编译生成了target目录

六、运行项目

因为我们项目和jenkins在同一台服务器,所以我们用shell脚本运行项目,原理既是通过dockerfile 打包镜像,然后docker运行即可。

修改代码:

1. Dockerfile

在springboot项目根目录新建一个名为Dockerfile的文件,注意没有后缀名,其内容如下:(大致就是使用jdk8,把jar包添加到docker然后运行prd配置文件。详细可以查看其他教程)

# 基础镜像
FROM  openjdk:8-jre
# 指定路径
WORKDIR /usr/local
# 复制jar文件到路径
COPY Management-system-0.0.1-SNAPSHOT.jar .
# 启动认证服务
ENTRYPOINT ["java","-jar","-Duser.timezone=GMT+08","Management-system-0.0.1-SNAPSHOT.jar"]
#END

复制

2. 修改jenkins任务配置

配置如下:

-t
:指定新镜像名
.
:表示Dockfile在当前路径
docker build -t it001/myproject:1.0 /usr/local/
docker rm -f myproject
docker run -d -p 8889:8889 --name  myproject it001/myproject:1.0

复制

3. 保存

点击保存即可

4. 构建

查看jenkins控制台输出,输出如下,证明成功!

5. 验证

docker ps
查看是否有自己的容器

  1. docker logs
    自己的容器名 查看日志是否正确
  2. 浏览器访问项目试一试


复制

文章转载自程序员恰恰,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论