栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

Docker自动构建镜像并推送镜像到仓库(构建.Net6 API项目)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker自动构建镜像并推送镜像到仓库(构建.Net6 API项目)

在上一篇文章 Jenkins 自动从拉取代码(gitee版本)中,我们已经实现了提交代码自动拉取功能,但是仅仅是自动拉取还是远远不够的,我们需要拉取代码后自动打包镜像并且上传到镜像容器中。
接下来干他一扳手!

  • 环境
    Jenkins:环境已经配置完成(上一篇博客)
    镜像构建Docker版本:Docker version 20.10.8, build 3967b7d
    镜像发布Docker版本:Docker version 1.13.1, build 64e9980/1.13.1
    容器镜像服务器:阿里云容器镜像服务(免费,足够个人和小项目使用了)

  • 在Jenkins插件管理中添加docke插件,安装完成后,在以安装插件中可以看见

  • 打开首页->系统管理->系统配置,滑动到最底部,点击云配置,在新页面中打开

  • 配置集群,我们暂时不使用集群,直接使用docker,点击配置

  • Docker Host URI配置,就是我们用来打包镜像和上传镜像的docker服务器,注意只支持tcp协议,云服务器需要配置外网端口(建议使用白名单模式)。

  • 点击测试 ,会显示对于的docker服务的版本

  • 回到Jenkins我们的自己的项目中,点击配置->构建->增加构建步骤,选择构建/推送docker image

  • 安装如果进行配置
    .Net6项目中,构建文件要和.sln解决方案文件在同一个目录中,否则会出现copy路径错误,需要一层层去找环境很麻烦。
    阿里云容器镜像服务可以配置单独的密码,建议单独配置,提示安全性。
    注意需要勾选推送镜像,就会向阿里云容器镜像服务仓库中推送镜像,阿里云容器镜像 服务地址需要版本号后文有说明。

  • 阿里云容器镜像服务,我们需要先建立对应的仓库,建立完成后如下图所示

  • 点击管理,可以看见容器的地址及其他相应的docker命令

  • 上传的镜像的时候我们需要给镜像指定一个版本号,我们先安装一个Version Number插件,安装完成后点击项目的构建环境,选择Create a formatted version number

  • 其中版本号参数含义传送门 https://plugins.jenkins.io/versionnumber/
    本文用到的
    XB_ BUILD_VERSION:变量名
    ${JOB_name}:项目名称
    ${BUILD_DATE_FORMATTED, “yyyyMMdd”}:格式化后的日期
    ${BUILDS_TODAY}:今天构建的数量

  • 然后在构建中的地址引用版本号

  • 保存完成,回到项目中点击构建或者直接提交代码 显示构建完成,后我们去阿里云看看效果,可以看到我们推送的镜像成功了!

  • 现在我们去镜像发布服务器,手动拉取镜像,按照仓库中的提示命令进行登录

  • 手动拉取镜像

  • 手动运行容器后, docker ps 查看运行的容器

docker run -d --name xhg_blog -p 9097:80 [镜像名称]:[镜像版本号]

  • 访问我们的项目接口 ,全部成功,收工!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954630.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号