在Kind拉起的K8s内部署Jenkins资源并且在Jenkin
2023-11-16 本文已影响0人
sexy_cyber
- 1、在Jenkins相同的命名空间中部署Docker in Docker 资源
这一步是为了后面流水线docker build 有docker 引擎可用
apiVersion: v1
kind: Pod
metadata:
name: docker-in-docker-pod
labels:
app: docker-in-docker-pod
spec:
containers:
- name: docker
image: docker:dind
securityContext:
privileged: true
env:
- name: DOCKER_TLS_CERTDIR
value: ""
args: ["--host=tcp://0.0.0.0:2375", "--storage-driver=overlay2"]
ports:
- containerPort: 2375
resources:
limits:
memory: "500Mi"
requests:
memory: "500Mi"
---
apiVersion: v1
kind: Service
metadata:
name: docker-in-docker-service
labels:
app: docker-in-docker-pod
spec:
ports:
- port: 2375
targetPort: 2375
selector:
app: docker-in-docker-pod
-
2、确认部署的资源已经拉起
docker:dind pod
service暴露端口为了给Jenkins调用
-
3、安装Docker插件
系统管理--->插件管理--->点击Available plugins--->搜索框输入Docker 搜索--->勾选目标插件安装
点击插件管理
Available plugins
搜索Docker
安装这些插件
- 4、创建Docker Cloud
系统管理--->Clouds--->New cloud--->勾选Docker--->输入Cloud name--->配置Docker Cloud details(2项)--->Docker Agent templates(3项)
进入系统管理
系统配置分类下找到Clouds
配置docker Cloud
Docker Cloud details
Docker Cloud details只需要配置两项
Docker Agent templates配置,共3项
- 5、创建流水线
选择构建一个自由风格的软件项目
选择风格并且输入流水线的名称
- 6、配置流水线 > Git(3项)
git仓库地址(https协议)--->账户名和密码--->引起触发的分支
git配置共3项
- 7、配置流水线 > 构建触发器(1项)
Cronjob语法
配置构建触发器
- 8、配置流水线 > Build Steps(3项)
增加构建步骤--->在下来清单中点击 Build / Publish Docker Image --->配置该步骤的详细参数(5大项)--->拉取镜像的仓库地址和用户名密码--->依赖的Cloud--->Docker build 完整的镜像名---> Push image 勾选--->配置push仓库的用户名和密码
Build Steps环节
选定目标构建步骤
配置拉取镜像的仓库地址和用户名密码
配置依赖的Cloud、build目标镜像的名称、push勾选、push鉴权(用户名和密码)
- 9、点击 “保存”
保存完,该流水线即可实现镜像构建和推送的功能
配置构建触发器