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
- กด
AddDownload 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
- กด
AddSSH task - ให้ตั้งชื่อว่า
Pull images - เลือก SSH service connection เป็น SSH service connection ที่สร้างไว้
- เลือก Run เป็น
Commandsและใส่คำสั่งลงไปในกล่อง Commands
Task 3: Run service with SSH task
- กดปุ่ม
+ที่ Agent job - Search หา task ชื่อ SSH
- กด
AddSSH 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
- กด
AddSSH 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