🤵 Jenkins:建立 GitHub Branch Source 的 Multibranch Pipleline

目的 在上一篇『Jenkins:安裝 Jenkins 在 Kubernetes』將 Jenkins 安裝在 Kubernetes 後,現在來試試看搭配 GitHub 去使用 Multibranch Pipelines 自動化管理 Pipeline Jobs。 Dynamic Agents 透過 Helm Chart 安裝 Jenkins 時,預設會安裝 Kubernetes Plugin,可以在 Kubernetes Cluster 內動態的為 Jenkins agents 建立 Pod 而不用手動去建立 static agents。 事前準備 架構連線的方式為 GitHub App 在發生 events 時會送請求到 Jenkins Webhook,由於我的 Kubernetes Cluster 是在我的 Lab 環境,且沒有固定的外部 IP Addresses 或 Domain Names,這邊我使用 Hookdeck 的 CLI 工具將來自 GitHub App 的 events 轉送往我 Kubernetes Lab 環境為 Jenkins 建立的 External IP。 在申請完 Hookdeck 帳號後,網站會引導你建立第一個 Connection,需要填的資訊約如下: ...

December 20, 2025 · 4 分鐘 · Wayne Yang

🤵 Jenkins:安裝 Jenkins 在 Kubernetes

事前準備 設定 Helm Repository helm repo add jenkinsci https://charts.jenkins.io helm repo update # 可以使用以下指令查詢 Jenkins repo 存在的 charts helm search repo jenkinsci 建立 Namespace kubectl create namespace jenkins 建立持久性儲存 PV 如果測試環境是使用 minikube,可直接參考 官網範例 建立 Local StorageClass,但需要能接受當節點不可被調度(如 CPU 使用率滿載)造成服務中斷跟資料遺失等等風險 使用 Dynamic provisioner (例如:Rook),則不用手動建立 PV 這邊使用 Local StorageClass 為例,這種方式有個好處,因為設定 WaitForFirstConsumer 時,可以延遲 Volume Binding 讓 scheduler 可以考慮所有 constrains,因此當 Local PV 建立好後,之後建立的 Pod 使用 Local StorageClass 時就會自動被調度到 PV 的節點上,參考官網 Volume local。 需要先決定 Local PV 要建立在哪個節點,這邊選用我的節點 k8s-1。 ...

November 25, 2025 · 4 分鐘 · Wayne Yang