Skip to content
石头软件测试技术分享石头软件测试技术分享
主页
github icon
  • cicd

    • 传统项目部署

      • 持续集成/持续发布
        • jenkins简介
          • jenkins项目部署
          • 容器化部署

            • jenkins打包dokcer镜像
              • 参考文档
                • 使用插件
                  • 步骤
                    • 配置镜像打包
                      • 镜像上传
                      • 实施中遇到的问题
                        • 镜像无法push问题
                          • 代码提交哈希值过长问题
                            • 打包docker镜像失败
                              • 修改配置重启失败
                                • 无法正常将镜像上传到仓库
                              • jenkins升级rancher服务
                              • 工具集成

                                • jenkins集成jmeter
                                  • jenkins集成allure
                                    • jenkins分发资源
                                      • 钉钉消息发送

                                    jenkins打包dokcer镜像

                                    author icon石头calendar icon2022年2月14日category icon
                                    • 持续集成/持续发布
                                    tag icon
                                    • jenkins
                                    timer icon大约 2 分钟

                                    此页内容
                                    • 参考文档
                                    • 使用插件
                                    • 步骤
                                      • 配置镜像打包
                                      • 镜像上传
                                    • 实施中遇到的问题
                                      • 镜像无法push问题
                                      • 代码提交哈希值过长问题
                                      • 打包docker镜像失败
                                      • 修改配置重启失败
                                      • 无法正常将镜像上传到仓库

                                    # jenkins打包dokcer镜像

                                    # 参考文档

                                    https://blog.csdn.net/weixin_42988268/article/details/106047931open in new window

                                    # 使用插件

                                    docker-build-step

                                    # 步骤

                                    # 配置镜像打包

                                    1. 选择构建docker步骤
                                      img.png
                                    2. 选择创建镜像
                                      img_1.png
                                    3. 配置项目路径,一般是到打jar包的上一个路径,也就是dockerfile的位置来决定
                                    4. 配置镜像名称格式
                                      img_2.png
                                    私服地址/项目父目录/模块目录:模块名称-版本号-时间戳-代码哈希值
                                    
                                    1

                                    # 镜像上传

                                    1. 选择上传
                                      img_3.png

                                    2. 配置镜像仓库镜像路径
                                      img_4.png

                                    3. 配置镜像名称

                                    命名规则:模块名+版本号+时间戳+git提交哈希值 
                                    xxx-v1.0-$BUILD_TIMESTAMP-$commit_id  
                                    $BUILD_TIMESTAMP     获取时间戳公共环境变量  
                                    $commit_id       代码提交哈希值  
                                    
                                    1
                                    2
                                    3
                                    4
                                    1. 配置私云仓库账号
                                      img_5.png
                                    2. 选择使用私云账号
                                      img_6.png
                                    3. 成功标志
                                      当jenkins日志出现此内容时,即为配置成功
                                      img_7.png

                                    # 实施中遇到的问题

                                    # 镜像无法push问题

                                    • 私云仓库镜像路径不存在
                                    • 仓库账号不正确
                                    • 仓库地址不正确,当仓库和jenkins在同一服务器时需要使用127.0.0.1否则无法连上私云

                                    # 代码提交哈希值过长问题

                                    https://blog.csdn.net/cngkqy/article/details/96927157open in new window
                                    $GIT_COMMIT环境变量取到的名称过长,导致镜像展示和使用比较麻烦,使用shell直接截取后赋值给变量但是无法使用,原因是当shell执行完成后变量会被直接销毁不会传递到下面的构建中,需要进行存储再读取注入 使用jenkins环境变量注入插件EnvInject Plugin

                                    • 使用shell对哈希值进行截取
                                    • 使用shell对截取的哈希值保存成本地txt文件
                                    • 使用jenkins环境变量插件,将哈希值注入环境变量

                                    shell命令
                                    使用shell截取8位的gitcommit哈希值, 保存截取到的哈希值到构建任务名称的txt文件中

                                    commit=$GIT_COMMIT
                                    id=${commit:0:8}
                                    echo $id
                                    sudo cat>/sh/$JOB_NAME.txt <<END
                                    commit_id=$id
                                    END
                                    
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6

                                    增加构建
                                    img_8.png
                                    填入哈希值存储txt文档目录
                                    img_10.png

                                    # 打包docker镜像失败

                                    未开启Docker Rest API
                                    https://blog.csdn.net/u010670411/article/details/83823628open in new windowhttps://blog.csdn.net/feifei3851/article/details/81114278open in new window

                                    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2355 -H fd:// --containerd=/run/containerd/containerd.sock
                                    
                                    1

                                    # 修改配置重启失败

                                    https://blog.csdn.net/u012164509/article/details/108385773open in new window

                                    # 无法正常将镜像上传到仓库

                                    https://blog.csdn.net/qq_36715271/article/details/118413951open in new window

                                    提示

                                    内容正在完善中,请耐心等待...

                                    下一页
                                    jenkins升级rancher服务
                                    Copyright © 2021-present Evan You 石头 | 备案号 : 蜀ICP备2021021200号-2 | 友情链接 : APP开发者工具