日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境

發布時間:2025/3/20 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者 | 存誠 阿里云彈性計算團隊

本文整理自《Serverless 技術公開課》,“Serverless”公眾號后臺回復“入門”,即可獲取系列文章 PPT。

**導讀:**本節課程為您介紹如何基于阿里云 Serverless Kubernetes(簡稱 ASK)服務,來快速構建 GitLab 持續集成環境。

ASK 介紹

首先,ASK 是什么?ASK 是阿里云推出的無服務器版 Kubernetes 容器服務。與傳統的 Kubernetes 服務相比,ASK最大的特點就是通過虛擬節點接入 Kubernetes 集群,而 Kubernetes 的 Master 節點也完全由阿里云容器服務托管。因此,在整個 ASK 集群中,用戶無需管理和運維真實節點,只用關心 Pod 資源即可,ASK 中的 Pod 則由阿里云彈性容器實例 ECI 承載。

ASK 的優勢主要有以下幾點:

  • 降低用戶使用 Kubernetes 的門檻,無需管理 Node 節點;
  • 無需考慮節點的容量規劃;
  • 以 Pod 為單位按需計費;
  • 宕機故障影響面小,Pod 級別。

同時,ASK 主要適用的場景有:

  • 在線業務彈性(視頻直播、在線教育);
  • 大數據計算(Spark);
  • 定時任務;
  • CI/CD 持續集成。

GitLab CI on ASK 的優勢

說到 CI/CD,大家最熟悉的兩個工具,一個是 Jenkins,另一個是 GitLab CI,隨著 Devops 角色的流行,越來越多的企業采用 GitLab CI 作為持續集成的工具,下面給大家介紹下 GitLab CI on ASK。gitlab-runner 以 Pod 形式注冊到 ASK 集群中,每個 CI/CD stage 也對應一個 Pod。

這么做的優勢有以下幾點:

  • 服務高可用(Deployment+PVC);
  • 無需維護 K8s Master、Node 節點,在沒有任何構建任務的情況下,只需要運行一個 Pod(gitlab-runner);
  • 觸發一個構建任務,啟動一個 Pod,按需計費;
  • 宕機故障只會影響以 Pod 為單位。

實踐演示

接下來給大家演示如何在阿里云 ASK 集群上部署 gitlab-runner,并且通過 gitlab CICD Pipeline 部署 Java 應用到 ASK 集群中。

其中涉及到的知識點主要有:

  • 通過 configMap 保存 gitlab runner 和 executor 的配置;
  • 通過 secret 保存 ASK 集群的訪問憑證和鏡像倉庫的密鑰;
  • 通過 PVC 緩存 runner cache 和 maven 倉庫;
  • 通過 imageCache 緩存容器鏡像。

本節課程涉及到的所有的配置文件(yaml)都已經上傳到 github 供大家下載【下載鏈接】。

下面開始演示,視頻版課程請點擊【觀看鏈接】。

1. 準備 ASK 集群

  • 在【容器服務控制臺】創建標準 Serverless K8s 集群

  • 集群創建完成后,基本信息中有 API server 公網鏈接地址

  • 連接信息中有 ASK 集群訪問憑證

2. 準備 PV/PVC

準備兩個 nas 盤,一個做 gitlab runner cache,一個做 maven 倉庫,請自行替換 nas server 地址和path

kubectl apply -f mvn-pv.yaml kubectl apply -f mvn-pvc.yaml kubectl apply -f nas-pv.yaml kubectl apply -f nas-pvc.yaml

3. 準備 Secret

  • kubeconfig 里的證書公私鑰拷貝到 secret 中,secret.yaml
kubectl apply -f secret.yaml
  • docker-registry 的認證信息,ECI 支持免密拉取,但是 push docker image 還是要用到
kubectl create secret docker-registry registry-auth-secret --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=${xxx} --docker-password=${xxx}
  • 查看生成的 secret 可以用以下命令
kubectl get secret registry-auth-secret --output=yaml

4. 準備 ConfigMap

把 gitlab runner 的 url、token,ASK 集群的 api server 地址拷貝到 config.yaml

kubectl apply -f config-map.yaml

5. 準備 imageCache(可選,節省鏡像拉取時間)

目前 AS K默認安裝了 imagecache-crd,可以用以下命令查詢,如果沒有可以自己安裝

# 查看image cache crd 是否安轉 kubectl get crd # 安裝image cache crd kubectl apply -f imagecache-crd.yaml # 制作imagecache kubectl apply -f imagecache.yaml

6. 部署 gitlab runner

kubectl apply -f gitlab-runner-deployment.yaml

7. 進行一個簡單的 CI 任務

git repo 中的 .gitlab-ci.yml 類似 Jenkinsfile,定義了構建任務的工作流。我們修改 demo 項目中的 src/main/webapp/index.jsp 文件,然后 git commit -m “change index info” 提交。 gitlab 中的流水線任務即被觸發,整個流程涉及到編譯、打包、部署。

成本

使用 ASK 與一臺預付費 ECS 的成本對比:

從上述成本計算可以看出,當您每天的 CI/CD 任務少于 126 個時,使用 ASK+ECI 會比購買一臺包年包月的 ECS 更加劃算。在享受按需付費的同時,也降低了運維成本,更加重要的是,當業務規模擴大、CI/CD 任務數量陡增時,不再需要擔心 Node 節點的擴容。ASK+ECI 的方案,可以被認為是 CI/CD 持續集成場景的量身標配。

課程推薦

為了更多開發者能夠享受到 Serverless 帶來的紅利,這一次,我們集結了 10+ 位阿里巴巴 Serverless 領域技術專家,打造出最適合開發者入門的 Serverless 公開課,讓你即學即用,輕松擁抱云計算的新范式——Serverless。

點擊即可免費觀看課程:https://developer.aliyun.com/learning/roadmap/serverless

Serverless 公眾號,發布 Serverless 技術最新資訊,匯集 Serverless 技術最全內容,關注 Serverless 趨勢,更關注你落地實踐中的遇到的困惑和問題。

總結

以上是生活随笔為你收集整理的从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。