Windows Docker – Jenkins 架設

公司新部門目前沒有使用 Gitlab 沒有原生的 CI/CD 套件而是使用 Gitea,由於新部門使用 C# & JS 以及我偶爾使用 node js 開發,因此這邊選擇學習一套很老牌的 CICD軟體

  • 特色:最老牌的 CI/CD 工具,可整合任何語言
  • 優點
    • 插件生態完整
    • 高度客製化
  • 缺點
    • 需要自己維運
    • 初期學習成本較高

👉 適合:內網環境、需要客製化流程

PS: docker 安裝可以參考 : link

觀念

所謂 CI(Continuous Integration,持續性整合)是指針對軟體系統的每個變動,能持續且自動地進行驗證。任何人對程式倉庫改動就會觸發 CI 服務器構建項目、自動運行測試驗證程式。當驗證完成後可再進行 CD(Continuous Delivery / Continuous Deployment,整合自動化發佈或部署)自動部署服務。

開始安裝

– 建立資料目錄

開啟 PowerShell,建立 Jenkins 的持久化資料夾:

mkdir jenkins_home

– 建立 docker-compose.yml

  • Windows 路徑必須用絕對路徑,例如 C:\jenkins_home
version: "3.8"

services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    ports:
      - "6971:8080"   # Jenkins Web UI
      - "50000:50000" # Jenkins Agent
    volumes:
      - D:\html_practice\dockerTest\jenkins_home:/var/jenkins_home

– 啟動 Jenkins

  • 在 PowerShell 進入 docker-compose.yml 所在資料夾,執行:
  • -d → 背景執行
  • 這會自動下載 Jenkins LTS 映像檔並啟動容器
docker-compose up -d

– 取得初始密碼

  • 第一次啟動 Jenkins 需要 admin 密碼解鎖:
docker logs jenkins

找到類似這段:

  • 複製 <一長串字串> 作為登入初始密碼
*************************************************************
Jenkins initial setup is required. An admin user has been created...
Please use the following password to proceed to installation:

<一長串字串>
*************************************************************

– 登入 Jenkins

  • 打開瀏覽器輸入:http://localhost:6971
  • 用上一步取得的初始密碼登入
  • 選擇 Install suggested plugins (安裝推薦套件)
  • 建立第一個 admin 帳號

完成後即可進入 Jenkins 主頁,開始建立 Pipeline 或 Job。

參考連結: link