前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins+GitLab自动化部署到Docker容器

Jenkins+GitLab自动化部署到Docker容器

原创
作者头像
别团等shy哥发育
修改2023-03-01 12:13:06
1K0
修改2023-03-01 12:13:06
举报
文章被收录于专栏:全栈开发那些事

本文是对Jenkins+Git+Maven自动化部署配置这篇文章的补充,有关基本的环境搭建从这篇找。

1、编写Dockerfile

  在项目中新建一个docker文件夹,编写Dockerfile,内容如下:

代码语言:shell
复制
FROM openjdk:11
EXPOSE 8888
WORKDIR /root
ADD jarfile/demo*.jar /root/app.jar
ENTRYPOINT ["java","-jar","/root/app.jar"]

  项目结构如下图所示。

image-20230201205126330
image-20230201205126330

2、为测试服务器配置Docker镜像加速器

  这里去阿里云的容器镜像服务找就行,脚本如下:

代码语言:shell
复制
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["这里去阿里云找,用你的"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3、Jenkins相关配置

3.1 配置测试服务器

image-20230201210014979
image-20230201210014979

  在Configure System中往下拉找到Publish over SSH,如下图

image-20230201210134066
image-20230201210134066

  编写测试测试服务器相关配置

image-20230201210228884
image-20230201210228884

  和原来的文章比,这里只是IP变了,密码没变

3.2 Pre Steps配置

image-20230201210345611
image-20230201210345611

  在执行构建之前,需要先对测试服务器上进行请理工作,包括删除之前保留的内容,停止正在运行的容器,删除这个容器,并删除之前的旧镜像。

image-20230201210553602
image-20230201210553602

3.3 Post Steps配置

  在构建完成之后,我们需要将项目的jar包传到测试服务器上(这里测试服务器的ip为192.168.159.53)

image-20230201211103866
image-20230201211103866

  除此之外,还需要将Dockerfile文件也上传到测试服务器

  先在GitLab服务器上看下项目结构(主要看文件路径)

image-20230201211217020
image-20230201211217020

  然后点击Add Transfer Set,编写内容如下:

image-20230201211515189
image-20230201211515189

  这里主要是将GitLab仓库中的Dockerfile也上传到测试服务器,并编写上传成功之后的运行脚本,这里的意思是上传完成之后,根据最新的Dockerfile文件构建镜像,然后根据镜像创建容器运行即可。

3.4 执行构建

点击构建按钮,执行构建

image-20230201211710275
image-20230201211710275

  1、查看项目控制台

image-20230201211748608
image-20230201211748608

  这里可以看到构建成功了,打码的部分是我配置了邮箱通知,构建之后会发邮件通知我结果。

  2、查看测试服务器是否收到Jenkins服务器发送的jar包和Dockerfile

image-20230201211912863
image-20230201211912863
image-20230201211924060
image-20230201211924060

  3、查看是否构建了新的镜像

代码语言:shell
复制
docker images
image-20230201212030247
image-20230201212030247

  可以看到,是我们的新镜像,这里显示创建时间在一个小时之前是因为我先跑的构建任务才写的博客。

4、查看是否运行了容器

代码语言:shell
复制
docker ps
image-20230201212214763
image-20230201212214763

  这里我将外部的8080端口映射到了容器内部的8888端口

  5、测试能够访问项目Controller

代码语言:shell
复制
http://192.168.159.53:8080/index/hello
image-20230201212334054
image-20230201212334054

  到这里,Jenkins+GitLab+Docker自动化部署到容器就介绍完了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、编写Dockerfile
  • 2、为测试服务器配置Docker镜像加速器
  • 3、Jenkins相关配置
    • 3.1 配置测试服务器
      • 3.2 Pre Steps配置
        • 3.3 Post Steps配置
          • 3.4 执行构建
          相关产品与服务
          测试服务
          测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档