本步骤介绍了如何在 Jekins 中通过创建新任务、配置任务参数来构建 slave pod。
说明
不同 Jenkins 版本使用 UI 上存在差异。您可以根据业务需要进行选择。
创建新任务
1. 登录 Jenkins 后台,单击新建任务或创建一个新任务。
2. 在新建任务页,设置任务的基本信息。
输入一个任务名称:自定义,本文以 test
为例。
类型:选择构建一个自由风格的软件项目。
3. 单击确定,进入任务参数配置页。
4. 在任务参数配置页,进行基本信息配置。
描述:自定义填写任务的相关信息,本文以 slave pod test 为例。
参数化构建过程:勾选此项,并选择添加参数 > Git Parameter。
任务参数配置
1. 在打开的 “Git Parameter” 面板中,依次设置以下参数。如下图所示:
主要参数信息如下,其余选项请保持默认设置:
Name:输入 mbranch
,该参数可用于匹配获取分支。
Parameter Type:选择Branch or Tag。
2. 选择添加参数 > Extended Choice Parameter,在打开的 “Extended Choice Parameter” 面板中设置以下参数。如下图所示:
主要参数信息如下,其余选项请保持默认设置: Name:输入 name
,该参数可用于获取镜像名称。
Basic Parameter Types:选择此项。
Parameter Type:选择Check Boxes。
Value:选择此项,并输入自定义镜像名称,该值将传递给变量 name
,本文以 nginx,php
为例。
3. 选择添加参数 > Extended Choice Parameter,在打开的 “Extended Choice Parameter” 面板中设置以下参数。如下图所示:
主要参数信息如下,其余选项请保持默认设置: Name:输入 version
,该参数用于获取镜像版本变量。
Basic Parameter Types:选择此项。
Parameter Type:选择Text Box ,表示以文本形式获取镜像值,并传递给变量 version
。
源码管理配置
在“源码管理”模块中,选择Git,并进行以下信息配置。
Repositories:
Repository URL:输入您的 gitlab 地址,例如 https://gitlab.com/user-name/demo.git
。
Branches to build:
指定分支(为空时代表any):输入$mbranch
,用于动态获取分支,其值与 Git Parameter 参数中定义的 mbranch
值对应。
Shell 打包脚本配置
1. 在“构建”模块中,选择增加构建步骤 > 执行 shell。
2. 将以下脚本内容复制粘贴至“命令”输入框中,并单击保存。
注意
脚本中 gitlab 地址、TKE 镜像地址、镜像仓库用户名及密码等信息为示例使用,请根据实际需求进行更换。
请确保基于源代码 Docker build 构建打包处,工作目录 /home/Jenkins/agent
需与“容器列表”中的 Container Template 工作目录一致。 echo " gitlab 地址为:https://gitlab.com/[user]/[project-name]].git"
echo "选择的分支(镜像)为:"$mbranch,"设置的分支(镜像)版本为:"$version
echo " TKE 镜像地址:hkccr.ccs.tencentyun.com/[namespace]/[ImageName]"
echo "1.登录 TKE 镜像仓库"
docker login --username=[username] -p [password] hkccr.ccs.tencentyun.com
echo "2.基于源代码 Docker build 构建打包:"
cd /home/Jenkins/agent/workspace/[project-name] && docker build -t $name:$version .
echo "3.Docker镜像上传至TKE仓库:"
docker tag $name:$version hkccr.ccs.tencentyun.com/[namespace]/[ImageName]:$name-$version
docker push hkccr.ccs.tencentyun.com/[namespace]/[ImageName]:$name-$version
该脚本提供以下功能:
获取选择的分支、镜像名称及镜像版本。
将与代码合并构建后的 docker 镜像推送至 TKE 镜像仓库。
下一步操作
至此您已成功构建 slave pod,请前往 构建测试 进行推送镜像及验证操作。
本页内容是否解决了您的问题?