Azure Release pipeline
หลังจากได้ Images จากการ Build and Push ในส่วนของ Pipeline แล้ว ขั้นตอนต่อไปจะเป็นส่วนของการ Deploy containers ที่ server ปลายทาง ซึ่งจะต้องใช้ Release pipeline
Release pipeline จะเป็นอีก 1 pipeline ที่ทำงานแยกกับ Pipeline ทั่วไป ส่วนนี้จะรองรับสำหรับการ Release service โดยเฉพาะ สามารถ deploy ระบบที่มีความซับซ้อนได้ดี
Create release pipeline
Concept การใช้งานคือ การใช้งาน Task ssh
เพื่อ remote ไปยัง server ปลายทางและทำการใช้คำสั่ง docker-compose up
- ในหมวดของ Pipelines จะใช้เมนูย่อยที่ชื่อว่า Releases
- กดปุ่ม
New pipeline
- ในหน้า Select a template ให้เลือก
Empty job
ข้างบนสุด - จะได้ Stage 1 มาเป็น Stage เริ่มต้น สามารถตั้งชื่อให้กับ Stage ได้
- กดเข้าไปที่
1 job, 0 task
ภายใน Stage 1 เพื่อเข้าไปสร้าง task deploy - เลือก
Agent job1
- กำหนด Agent pool
Task 1: Download docker-compose
file from Published Artifact task
- กดปุ่ม
+
ที่ Agent job - Search หา task ชื่อ Download Build Artifacts
- กด
Add
Download Build Artifacts task - Download artifacts produced by กำหนดเป็น
Current build
- Download type กำหนดเป็น
Specific files
- Matching pattern กำหนดเป็น
**
- Destination directory กำหนดเป็น
$(System.ArtifactsDirectory)
Task 2: Pull images with SSH task
- กดปุ่ม
+
ที่ Agent job - Search หา task ชื่อ SSH
- กด
Add
SSH task - ให้ตั้งชื่อว่า
Pull images
- เลือก SSH service connection เป็น SSH service connection ที่สร้างไว้
- เลือก Run เป็น
Commands
และใส่คำสั่งลงไปในกล่อง Commands
Task 3: Run service with SSH task
- กดปุ่ม
+
ที่ Agent job - Search หา task ชื่อ SSH
- กด
Add
SSH task - SSH Task อันถัดไปให้ตั้งชื่อว่า
Run services
- เลือก SSH service connection เป็น SSH service connection ที่สร้างไว้
- เลือก Run เป็น
Commands
และใส่คำสั่งลงไปในกล่อง Commands
Task 4: Clean up with SSH task
- กดปุ่ม
+
ที่ Agent job - Search หา task ชื่อ SSH
- กด
Add
SSH task - SSH Task อันถัดไปให้ตั้งชื่อว่า
Clean up unused images
- เลือก SSH service connection เป็น SSH service connection ที่สร้างไว้
- เลือก Run เป็น
Commands
และใส่คำสั่งลงไปในกล่อง Commands
Finish configure release pipeline
กดปุ่ม Save
เพื่อเสร็จสิ้นการสร้าง Release pipeline ที่ขวาบนของหน้าจอ
Final step: Release Application
Create Release
หลังจากที่ Pipeline ได้ Build Image และ Push Image เสร็จสิ้นแล้ว มีขั้นตอนดังนี้
- กดปุ่ม
Create Release
ที่ขวาบนของหน้า Releases - เลือก Artifacts หรือ version ของ source code
- ใส่รายละเอียดเกี่ยวกับการ Release
- กด
Create
ด้านล่าง - รอ Release pipeline ทำงานจนครบทุก Task ถือว่าเสร็จสิ้นการ Deploy
Accessing published artifacts
การเข้าถึงไฟล์ artifact ที่ได้ publish มาจาก pipeline สามารถเข้าถึงด้วย Directory $(System.ArtifactsDirectory)/[artifact-name]
อีก 1 ช่องทางคือ Artifacts จะถูกเก็บอยู่ภายใน agent folder
> _work
folder _work
มาจากการ config Folder ทำงานของ agent ซึ่งจะ default ไว้ที่ _work
ถ้าไม่มีการเปลี่ยนแปลงค่า การตั้งค่า agent ข้อที่ 7