使用 Jenkins 自动部署 java-web 应用到 Docker 容器(全过程)

10 篇文章 1 订阅
4 篇文章 0 订阅

写在前面

首先我们在使用默认的 Jenkins 安装配置的时候,是缺少几个插件的,我们需要手动安装上去,插件名称如下(我安装 Jenkins 的时候默认把他汉化了):

  • SSH server
  • Publish Over SSH
  • Docker Pipeline
  • Docker
  • Docker Commons Plugin
  • Maven Integration Plugin

然后重启就好了

插件安装入口

在这里插入图片描述

准备好 GIT 仓库

就是一个可以看到效果的 Test 工程,这里我使用我的一个 web 工程来测试:https://gitee.com/peppa-qiu/ci-cd-test.git

特别说明,项目中需要有 Dockerfile,和 docker-compose-dev.yml 文件

  • Dockerfile 文件
FROM openjdk:oraclelinux8

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

LABEL "author"="qiuqiuya"
LABEL "version"="1.0"
LABEL "email"="fortunate_qkm@163.com"

ADD *.jar app.jar

EXPOSE 8081

ENTRYPOINT ["java", "-jar", "-Duser.timezone=GMT+08", "-Dfile.encoding=UTF-8", "-Dsun.jnu.encoding=UTF-8", "/app.jar"]
  • docker-compose-dev.yml 文件
version: "3"

services:
  ci-cd-test:
    container_name: ci-cd-test
    image: ci-cd-test:${BUILD_NUMBER}
    ports:
      - "8081:8080"
    restart: always

创建之前的准备

1、设置 --> 全局工具配置:设置 jdk,maven,ssh server
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
2、系统管理 --> 系统配置:配置 SSH Servers

注意,这一步需要安装好 SSH server、Publish Over SSH 这两个插件

在这里插入图片描述

Jenkins 创建构建流程

1、创建一个 maven 项目
在这里插入图片描述
2、配置构建流程

1、配置 GIT 仓库信息
在这里插入图片描述
2、配置触发构建条件
在这里插入图片描述
3、配置 Build
在这里插入图片描述
2、构建成功之后的操作(Post Steps)
在这里插入图片描述
在这里插入图片描述

记得勾选一下 Verbose output in console,可以到时候在控制台看到输出信息

上传 jar 包到服务器的配置:
在这里插入图片描述
上传 Dockerfile 文件的配置(另外一个 docker-compose-dev.yml 一样的操作,这里就不截图了):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Mac 版本 SHELL 脚本

#!/bin/bash
source /etc/profile
source ~/.zshrc
if [[ -a ".env" ]];
then rm -rf .env
fi
cd /Users/qiukangming/jenkins-build/ci-cd-test
# BUILD_NUMBER 是 Jenkins 的内置变量,可以使用 $ 获取
echo BUILD_NUMBER=${BUILD_NUMBER}  >> .env
docker build -t ci-cd-test:${BUILD_NUMBER} .
docker-compose -f docker-compose-dev.yml -p ci-cd-test stop
docker-compose -f docker-compose-dev.yml -p ci-cd-test up -d

Linux 版本 SHELL 脚本

#!/bin/bash
source /etc/profile
if [[ -a ".env" ]];
then rm -rf .env
fi
cd /root/jenkins-build/ci-cd-test
echo BUILD_NUMBER=${BUILD_NUMBER}  >> .env
docker build -t ci-cd-test:${BUILD_NUMBER} .
docker-compose -f docker-compose-dev.yml -p ci-cd-test stop
docker-compose -f docker-compose-dev.yml -p ci-cd-test up -d

然后保存退出就行了~

3、查看效果

我们可以等待 5 分钟自动构建,也可以手动运行构建流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、服务器上查看构建好的文件

在这里插入图片描述

5、查看 Docker 情况

在这里插入图片描述
在这里插入图片描述

6、访问接口

在这里插入图片描述

到这里我们的 Jenkins 的 CI/CD 流程就弄好啦~

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用Docker安装Jenkins并进行自动部署,可以按照以下步骤进行操作: 1. 首先,浏览到Jenkins的URL,例如http://localhost:8080,并等待解锁Jenkins页面的出现。\[1\] 2. 使用以下命令查看管理员密码:docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword。这将显示管理员密码,稍后会用到。\[1\] 3. 接下来,使用以下命令启动Jenkins容器,并同时映射宿主机和容器内的端口。这个命令还会将容器Jenkins工作目录/var/jenkins_home挂载到宿主机的目录/usr/local/jenkins上。请确保将命令中的端口号和目录路径替换为你自己的配置。例如:docker run -d -p 8099:8080 -p 50099:50000 -v /usr/local/jenkins:/var/jenkins_home --name myjenkins jenkinsci/blueocean。\[2\] 4. 创建Jenkins工作目录,并将容器内的目录挂载到此目录上。这样,你可以在宿主机上对文件进行修改,并同步到容器内。使用以下命令创建目录并设置权限:mkdir -p /usr/local/jenkins chmod 777 /usr/local/jenkins。\[3\] 通过按照以上步骤进行操作,你可以使用Docker安装Jenkins并进行自动部署。请确保根据你的实际需求进行相应的配置和调整。 #### 引用[.reference_title] - *1* [Docker安装Jenkins自动部署](https://blog.csdn.net/sinat_27933301/article/details/109803467)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [使用 Docker 安装 Jenkins 并实现项目自动化部署](https://blog.csdn.net/chenlixiao007/article/details/103348099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值