Woodpecker CI คืออะไร และวิธีติดตั้งบน Cloud Server
Woodpecker CI คือระบบทดสอบและบิลด์อัตโนมัติที่แยกสายมาจาก Drone และอยู่ภายใต้ใบอนุญาตโอเพนซอร์สเต็มรูปแบบ เหมาะกับทีมที่ต้องการระบบ CI ของตัวเองโดยไม่มีเงื่อนไขเชิงพาณิชย์
- หมวดหมู่
- DevOps และ CI/CD
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- Apache License 2.0 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Woodpecker CI คืออะไร
Woodpecker เกิดจากชุมชนที่ต้องการระบบ CI แบบเดียวกับ Drone แต่อยู่ภายใต้ใบอนุญาตที่เปิดชัดเจนโดยไม่มีเงื่อนไขเชิงพาณิชย์ จึงยังคงแนวคิดหลักคือทุกขั้นตอนรันในคอนเทนเนอร์และตั้งค่าจากไฟล์ในที่เก็บโค้ด
ระบบใช้ทรัพยากรน้อยมากเมื่อเทียบกับระบบ CI ขนาดใหญ่ ทีมเล็กจึงรันเซิร์ฟเวอร์และ Runner บน Cloud Server เครื่องเดียวได้สบาย แล้วค่อยแยกเครื่องเมื่องานบิลด์เยอะขึ้น
จุดที่ทำให้เหมาะกับองค์กรไทยหลายแห่งคือการเข้าคู่กับ Gitea ได้อย่างลงตัว ทำให้ได้ระบบเก็บโค้ดและระบบบิลด์ที่ติดตั้งเองครบโดยใช้ทรัพยากรรวมกันไม่มาก
ความสามารถเด่นของ Woodpecker CI
โอเพนซอร์สเต็มรูปแบบ
ไม่มีเงื่อนไขเชิงพาณิชย์ ใช้ในองค์กรได้โดยไม่ต้องประเมินใบอนุญาต
ทุกขั้นตอนรันในคอนเทนเนอร์
สภาพแวดล้อมสะอาดและได้ผลเหมือนกันทุกครั้ง
ใช้ทรัพยากรน้อย
รันบนเครื่องสเปกเล็กได้ เหมาะกับทีมที่คุมงบ
เชื่อมกับ Gitea และ GitLab ได้
ทำงานร่วมกับระบบ Git ที่ติดตั้งเองได้ดี
เพิ่ม Runner ได้ตามงาน
ขยายกำลังบิลด์ด้วยการเพิ่มเครื่องรันงาน
ใช้ Woodpecker CI ทำอะไรได้บ้าง
- ทีมเล็กที่ต้องการระบบ CI ของตัวเองโดยใช้ทรัพยากรน้อย
- องค์กรที่ใช้ Gitea และต้องการระบบบิลด์ที่เข้าคู่กัน
- หน่วยงานที่มีข้อกำหนดให้ใช้ซอฟต์แวร์โอเพนซอร์สที่ชัดเจน
- โครงการที่ต้องการให้ไปป์ไลน์อยู่ในโค้ดและรีวิวได้
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นเซิร์ฟเวอร์และ Runner บนเครื่องเดียว | 2 vCPU | 4 GB | NVMe 60 GB |
| แนะนำหลายโครงการที่บิลด์ทุกวัน | 4 vCPU | 8 GB | NVMe 150 GB |
| ใช้งานหนักแยกเครื่อง Runner หลายตัว | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 300 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Woodpecker CI บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Docker และ Docker Compose
- ระบบ Git ที่รองรับ เช่น Gitea, GitLab หรือ Forgejo
- โดเมนและใบรับรอง SSL
ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว
- 1
สร้าง OAuth Application ในระบบ Git
ใน Gitea ไปที่ตั้งค่าผู้ใช้แล้วสร้างแอปพลิเคชัน โดยกำหนด Redirect URI เป็นที่อยู่ของ Woodpecker ตามด้วยเส้นทาง authorize
- 2
สร้างไฟล์ docker-compose.yml
services: server: image: woodpeckerci/woodpecker-server:latest environment: WOODPECKER_HOST: https://ci.example.com WOODPECKER_GITEA: true WOODPECKER_GITEA_URL: https://git.example.com WOODPECKER_GITEA_CLIENT: CHANGE_ME WOODPECKER_GITEA_SECRET: CHANGE_ME WOODPECKER_AGENT_SECRET: PasteALongRandomStringHere WOODPECKER_ADMIN: admin-username volumes: - ./woodpecker-data:/var/lib/woodpecker ports: - "127.0.0.1:8000:8000" restart: unless-stopped agent: image: woodpeckerci/woodpecker-agent:latest depends_on: [server] environment: WOODPECKER_SERVER: server:9000 WOODPECKER_AGENT_SECRET: PasteALongRandomStringHere WOODPECKER_MAX_WORKFLOWS: 2 volumes: - /var/run/docker.sock:/var/run/docker.sock restart: unless-stopped - 3
สั่งรัน
docker compose up -d - 4
ตั้ง Nginx และ HTTPS
sudo certbot --nginx -d ci.example.com - 5
เปิดใช้งานที่เก็บโค้ดและเขียนไปป์ไลน์
steps: test: image: node:22 commands: - npm ci - npm test build: image: node:22 commands: - npm run build when: branch: main - 6
เก็บค่าลับและตั้งการแจ้งเตือน
เก็บโทเคนและรหัสผ่านไว้ในส่วน Secret ของโครงการ และตั้งการแจ้งเตือนเข้าอีเมลหรือแชทเมื่อบิลด์ไม่ผ่าน
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS ผ่าน Reverse Proxy |
| 8000 | TCP | พอร์ตภายในของเซิร์ฟเวอร์ |
| 9000 | TCP | การสื่อสารระหว่างเซิร์ฟเวอร์กับ Agent |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ตั้งค่าลับที่ยาวและสุ่มสำหรับการสื่อสารกับ Agent
- กำหนดผู้ดูแลระบบให้ชัดเจนและจำกัดผู้ใช้ผ่านระบบ Git
- แยกเครื่อง Agent ออกจากบริการสำคัญอื่นเพราะเข้าถึง Docker ได้
- เก็บค่าลับในระบบ Secret ไม่เขียนลงไฟล์ไปป์ไลน์
ทำไมควรรัน Woodpecker CI บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
รันคู่กับ Gitea บน Cloud Server เครื่องเดียวได้สำหรับทีมเล็ก ช่วยคุมค่าใช้จ่าย
เพิ่มเครื่อง Agent ในวง Private Network ได้เมื่องานบิลด์เยอะขึ้น
โค้ดและผลการบิลด์อยู่ในไทยทั้งหมด ไม่ต้องพึ่งบริการภายนอก
คำถามที่พบบ่อยเกี่ยวกับ Woodpecker CI
Woodpecker ต่างจาก Drone อย่างไร
แยกสายมาจากฐานโค้ดเดียวกันและใช้แนวคิดเดียวกัน ต่างที่ Woodpecker เป็นโอเพนซอร์สเต็มรูปแบบโดยไม่มีเงื่อนไขเชิงพาณิชย์ ทำให้องค์กรที่ต้องตรวจใบอนุญาตเลือกใช้ได้ง่ายกว่า
เหมาะกับทีมขนาดไหน
เหมาะมากกับทีมเล็กถึงกลางที่ต้องการระบบ CI ของตัวเองโดยไม่ต้องดูแลระบบใหญ่ ถ้าองค์กรใหญ่และต้องการความสามารถครบทั้ง CI, Registry และการจัดการโครงการ GitLab จะครบกว่าในระบบเดียว
ย้ายไปป์ไลน์จาก Drone มาได้ไหม
ย้ายได้ไม่ยากเพราะรูปแบบไฟล์ใกล้เคียงกันมาก แต่มีรายละเอียดบางจุดที่ต่างกันตามเวอร์ชัน ควรทดสอบไปป์ไลน์บนโครงการเดียวก่อนย้ายทั้งหมด
ทางเลือกอื่นที่คล้ายกับ Woodpecker CI
แอปอื่นในหมวด DevOps และ CI/CD
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Woodpecker CI ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด