Jenkins 使用插件 docker-build-step 编译容器镜像 & 推送仓库 (完成)

一、需求描述

Java开发的源码,需要编译成docker镜像,并推送到指定的私有仓库。

二、准备工作

1. git 源码环境准备

公司私有仓库 http://git.company.com/robin/testjava.git

image.png

注意: Dockerfile 文件我也放在源码根目录下。也可以在源码目录下创建 docker 目录,然后将相关文件放进去。Dockerfile 文件的路径,后面会配置。

2. harbor 私有仓库环境准备
image.png

创建项目 core_cms , 并配置账户 test 为成员(这里设置为管理员)。私有读写。

# Docker Push Command
docker tag SOURCE_IMAGE[:TAG] reg.company.com/core_cms/REPOSITORY[:TAG]
docker push reg.company.com/core_cms/REPOSITORY[:TAG]

三、Jenkins 插件

1. docker-build-step

在Jenkins上的Docker集成,支持镜像的编译、推送、管理等。
配置 docker agent
进入 “系统管理” - “系统配置”,找到 “Docker builder”。

  • 如果docker在jenkins服务器本地,配置为 unix:///var/run/docker.sock
  • 如果使用另外一台docker服务器,则填写 docker api 接口信息。


    image.png
2. Version Number Plugin版本

支持生成更复杂的版本信息。
在 “某任务” - “配置” - “构建环境” 找到 “Create a formatted version number”。这里配置 增加变量BUILD_VERSION,格式为 ${BUILD_DATE_FORMATTED, "yyyy-MM-dd"}.${BUILD_NUMBER}。如图:

image.png
3. 配置git 和 harbor 需要的认证

“系统管理” - “Manage Credentials” - “system” - "全局凭据" - "Add Credentials" ,配置用户名和密码

image.png

四、Jenkins 配置

实现过程描述
-- 拉取git源码,mvn编译生成 jar 文件。
-- 在Post Steps,选择编译成功后执行docker指令
Creat/build image --) Tag image *2 --) Push image *2 --) Remove image

1.创建一个maven项目
2. 编译来自git的文件,生成jar包
image.png
3. Creat/build image

该编译过程完成后,默认生成 $BUILD_NUMBER:latest名称的镜像

image.png

4. Tag image

$BUILD_NUMBER:latest名称的镜像,重新tag为需要的格式

image.png

在jenkins服务器上,表现如下:


image.png
5. Push image
image.png
6. Remove image
image.png

五、Harbor 展示

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容