type
status
date
slug
summary
tags
category
icon
password
Property
Mar 4, 2024 12:02 PM

目的

之前的前端构建部署,是通过 scp 传输 dist 的全部文件到指定目录实现部署,这次我们将学习利用 Jenkins 构建 docker 前端镜像并上传到制品库实现部署。

正式开始

Jenkins 登录

想使用 Jenkins 推送镜像到制品库,必须先登录制品库。进入 Jenkins 容器,使用 docker login 登录,然后退出即可
notion image
登录一次之后后续就无需登录。
注意:登录不上可以多尝试几次

Nginx 登录制品库

Jenkins 构建并且 push,Nginx 就会触发拉取,因此这边也需要登录。
notion image
登录一次之后后续就无需登录。

DockerFile

前端通过 Jenkins 构建 docker 镜像,因此需要添加 DockerFile 文件。
DockerFile 是一个镜像制作过程的步骤描述,新增文件添加一下代码
  • 拉取一个 nginx 1.15-alpine 版本的镜像。
  • 将当前目录下的 dist 文件夹拷贝到镜像的 /usr/share/nginx/html 文件夹。
  • 声明启动容器时,在 /usr/share/nginx/html 下面执行。

jenkins 配置修改

修改配置
notion image
添加以下代码
流程分析
  • Jenkins 在命令中用 $-变量名 进行使用。 timestamp=date ‘+%Y%m%d%H%M%S’,唯一的 docker 命名
  • 依据 DockerFile 打包镜像并且推送
  • Nginx 拉取刚推送的 docker 镜像,停止正在运行的 container,删除之后并且运行当前的镜像。
上述代码中相关注意事项
  • 制品库的地址:172.16.81.150:8082
  • nginx 的地址:192.168.182.4
  • nginx 的 name:nginx-test
notion image

结语

和之前的构建部署方式中,利用 docker 镜像可以很好地代码回退和迭代更新,实现了版本在生产环境更好的控制。
 
hexo添加动态背景CICD实战之Nexus制品库的介绍与安装
  • Waline
Kitety
Kitety
独特为佳
公告
我曾经七次鄙视自己的灵魂
--卡里·纪伯伦
第一次,当它本可进取时,却故作谦卑;
第二次,当它在空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。
 
最新评论
Loading...