基于Gitlab Runner的CI/CD搭建

409 字
2 分钟
基于Gitlab Runner的CI/CD搭建

前言#

我已经搭建了很多七七八八的服务 应该是完全满足DevOps的需求了

但我还完全没有体验过整个流程呢

刚好我自己给Aqua的前端改了点代码 我决定搞一个自动部署

折腾开始#

需求很简单,在我改完代码之后Push到我自己的Gitlab,然后自动Build镜像并推送到我的Harbor,然后Kubernete Deployment Rollout拉取新镜像

我不打算用Jenkins 一个是他的UI老丑 一个就是没必要 Gitlab对我已经很强大了

其实也是因为懒不想重新搭一个

一个是我后面去看了Jenkins的逻辑是在Agent上部署搭建环境然后构建 那就意味着

Nodejs要一个Agent Python要一个 Java要一个 当然你可以把所有环境塞在一台机器里 但那何必呢

Docker拉构建环境的镜像 构建后用后即焚 节省资源同时能保证环境的一致 同时也便于更新

Gitlab Runner的搭建#

那首先肯定是要搭建Runner,直接在K8s部署肯定是最好的

首先先去Gitlab创建一个runner拿到token

chrome_Q7zJHn0Q3i.png
chrome_Q7zJHn0Q3i.png

然后连上Master

Terminal window
helm repo add gitlab https://charts.gitlab.io
helm install gitlab-runner \
--namespace=gitlab-runner \
--create-namespace \
--set gitlabUrl=https://gitlab.example.com \
--set runnerToken=xxx \
--set rbac.create=true \
--set rbac.clusterWideAccess=true \
gitlab/gitlab-runner

我们让helm自己创建serviceAccount就好 不给自己埋坑(

chrome_MHyUxcTMJC.png
chrome_MHyUxcTMJC.png

没啥问题 接下来就是下一步

CI/CD配置#

需求大概是:

  1. 我Push代码到我自己的Gitlab
  2. Gitlab Runner开始执行流水线,npm build出静态文件
  3. 构建Nginx镜像
  4. Push到Harbor
  5. K8s触发Rollout

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

基于Gitlab Runner的CI/CD搭建
https://cainongw.github.io/posts/gitlab-runners/
作者
Cainong
发布于
2025-11-12
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
记一次filebrowser的搭建
Kubernetes 起因 我以为这个就是写个Deployment然后挂载NFS就得了 本来都不打算写blog的 结果后面发现折腾了我几个小时才好 还是有一点坑的 所以就写一下
2
开源WAF 雷池在K8s上的搭建
HomeLab 前言 换了条宽带,现在我拥有动态的公网IPV4地址了 我打算暴露一些服务出去以便我使用 例如Openlist RDP Gitlab 但是 我并不打算公开 我只打算自己使用 前面我们搭建了Authentik作为SSO单点登录,刚好雷池WAF支持通过单点登录鉴权来允许访问 这样我就可以实现把ESXi挂到公网 但是不登录都过不了防火墙
3
Certd的搭建与证书自动部署与通知
Kubernetes 前言 前段时间去办了商宽,可算是有公网IP了 CloudFlare Tunnel实在太慢了 然后我白嫖了免费的pp.ua域名托管到了CF 现在只需要定期给域名申请证书就好了
4
记一次Kubernetes完整集群的搭建
HomeLab 写在前面 太好了孩子们 这次基本全都是命令行操作 我不用截图了 以下几乎全是命令 几乎一张图片没有 如果你想做为参考的话请仔细阅读每一行 前言 昨天我在折腾Authentik认证服务的时候 一直在思考用什么反代服务 常见的可以用Nginx Proxy Manager,Caddy,Traefik 这里面我觉得比较好用的是Traefik,但是即使是Traefik
5
记一次局域网内.lan域名的证书自签名并挂载到Ingress
HomeLab 前言 在Authentik的折腾中由于我们没有https导致passkey无法使用 并且想使用passkey必须要可用的证书 Chrome提示什么不安全的连接即使有https也是无法使用的 所以我们需要给.lan域名签一个证书并信任他
随机文章 随机推荐
Profile Image of the Author
Cainong
Caiw there 👋
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
站点统计
文章
38
分类
16
标签
48
总字数
57,650
运行时长
0
最后活动
0 天前

文章目录