k8s + gitlab + jenkins +docker 搭建企业级CI/CD 流水线操作
k8s + gitlab + jenkins +docker 搭建企业级CI/CD 流水线操作
1.gitlab 安装,管理项目源代码
1.1 gitlab 安装,优化
gitlab 优化 2.6G/8G
gitlab
puma =2
1.2 gitlab 管理界面--设置--项目访问令牌
1.3 webhooks 钩子
2. jenkins 获取gitlab 源代码
2.1 系统配置--插件管理--安装gitlab --gitlab plugin,gitlab hook plugin,ruby-runtime
2.2 配置 jenkins 凭证提供者:
源码地址:
doman:全局凭据
类型选择:gitlab api token
范围:jenkins,nodes,items,all child items,tec
api token: gitlab 项目访问令牌
3.harbor 本地镜像服务器,存放镜像
4.k8s集群
pod:一个镜像部署到3个容器,对外服务自动实现负载均衡
demo.yml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: net6-demo-deployment
labels:
app: net6
spec:
# 配置rs
replicas: 3
selector:
matchLabels:
app: net6-rs
## 配置是POD模板
template:
metadata:
labels:
app: net6-rs
env: testing
spec:
containers:
- name: net6-container
imagePullPolicy: Always
image: 192.168.3.251:9999/xxx/dotnet6-piepeline:1221
ports:
- name: net6-port
containerPort: 80 #必须和dockerfile中暴露端口一致
---
apiVersion: v1
kind: Service
metadata:
name: net6-service
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
nodePort: 30335
selector:
app: net6-rs
----------------jenkins----------------
1.拉svn代码;
2.编译和生产镜像
3.推送镜像docker image 到 本地镜像仓库barbor,或推送生产的镜像到云镜像仓库(镜像地址);
4.发布:将刚推送的云镜像发布到 云 k8s (需密钥,镜像凭证,镜像地址)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!