บทช่วยสอน: ปรับใช้โซลูชันโดยอัตโนมัติโดยใช้ GitHub Actions สําหรับ Microsoft Power Platform

ในบทช่วยสอนนี้ คุณจะเรียนรู้วิธีการ:

  • สร้างที่เก็บข้อมูลบน GitHub ใหม่
  • สร้างเวิร์กโฟลว์ GitHub สองเวิร์กโฟลว์โดยใช้ GitHub Actions สําหรับ Microsoft Power Platform

เวิร์กโฟลว์สามารถส่งออกแอปของคุณโดยอัตโนมัติ (เป็นโซลูชันที่ไม่มีการจัดการ) จากสภาพแวดล้อมการพัฒนา สร้างอาร์ทิแฟกต์การสร้าง (โซลูชันที่มีการจัดการ) และปรับใช้แอปในสภาพแวดล้อมการทำงานจริงของคุณ บทช่วยสอนนี้ใช้ โซลูชัน ALMLab ที่คุณสร้างและสภาพแวดล้อมที่คุณตั้งค่าไว้ในบทช่วยสอนก่อนหน้านี้

บทช่วยสอนที่เกี่ยวข้อง: เริ่มต้นใช้งาน และ สร้างแอปที่ขับเคลื่อนด้วยโมเดล

สร้างบัญชี GitHub

  1. ไปที่ https://github.com และเลือก ลงทะเบียน หรือ เริ่มทดลองใช้ฟรี (หรือลงชื่อเข้าใช้ถ้าคุณมีบัญชีอยู่แล้ว)

    สร้างบัญชี

  2. หลังจากที่คุณสร้างบัญชีของคุณแล้ว ให้สร้างที่เก็บข้อมูลโดยการเลือกสร้างที่เก็บข้อมูลหรือสร้างใหม่

    สร้างพื้นที่เก็บข้อมูล

    คุณอาจเห็นหน้าจอเริ่มต้นทางเลือกต่อไปนี้:

    สร้างพื้นที่เก็บข้อมูลใหม่

  3. สร้างที่เก็บข้อมูลใหม่ของคุณ แล้วตั้งชื่อเป็นpoweractionslab ตรวจสอบให้แน่ใจว่าคุณเลือก เพิ่มไฟล์ README เพื่อเริ่มต้น repo และเลือก Create repository

    เริ่มต้นที่เก็บ

การสร้างข้อมูลลับใหม่สำหรับการรับรองความถูกต้องของ Service Principal

  1. ไปยังที่เก็บของคุณและเลือก การตั้งค่า ขยาย Secrets แล้วเลือก Actions

  2. บนหน้า ความลับ ให้ตั้งชื่อความลับเป็น PowerPlatformSPN ใส่ข้อมูลลับไคลเอ็นต์จากการลงทะเบียนแอปพลิเคชันที่คุณสร้างขึ้นใน Microsoft Entra ลงในเขตข้อมูล ค่า จากนั้นเลือก เพิ่มข้อมูลลับ คุณจะได้อ้างอิงข้อมูลลับไคลเอ็นต์ในไฟล์ YML ที่กําหนดเวิร์กโฟลว์ GitHub ในภายหลังในบทช่วยสอนนี้

    สร้างซีเคร็ตของ service principal

    ตอนนี้ client secret ถูกเก็บไว้อย่างปลอดภัยเป็น GitHub secret

สร้างเวิร์กโฟลว์เพื่อส่งออกและแยกไฟล์โซลูชันในสาขาใหม่

  1. เลือก Actions จากนั้นเลือก ตั้งค่าเวิร์กโฟลว์ด้วยตัวคุณเอง หรือเลือก กําหนดค่า ในกล่อง เวิร์กโฟลว์แบบง่าย ภายใต้ส่วน ที่แนะนําสําหรับที่เก็บนี้

    ตั้งค่าเวิร์กโฟลว์

  2. คุณเห็นไฟล์ YAML ใหม่ที่มีเวิร์กโฟลว์พื้นฐานเพื่อช่วยให้คุณเริ่มต้นด้วย GitHub Actions

    ไฟล์ YML ตัวอย่าง

  3. ลบเนื้อหาที่กําหนดไว้ล่วงหน้า แล้ววางเนื้อหาจากไฟล์ export-and-branch-solution-with-spn-auth.yml เปลี่ยนชื่อไฟล์เป็นexport-and-branch-solution.yml

    เปลี่ยนชื่อและแทนที่เนื้อหา

  4. ปรับปรุง <ENVIRONMENTURL> ด้วย URL สำหรับสภาพแวดล้อมการพัฒนาที่คุณต้องการส่งออกจาก (ตัวอย่างเช่น: https://poweractionsdev.crm.dynamics.com)

  5. ปรับปรุง <APPID> และ <TENANT ID> ด้วยค่าของคุณ

    • ถ้าคุณใช้ข้อมูลประจำตัว ให้วางเนื้อหาของไฟล์ export-and-branch-solution.yml แทนเนื้อหาของไฟล์ export-and-branch-solution-with-spn-auth.yml แทนที่ <USERNAME> ด้วยชื่อผู้ใช้ที่คุณใช้เพื่อเชื่อมต่อกับสภาพแวดล้อม

      เปลี่ยนชื่อและแทนที่เนื้อหา

    เคล็ดลับ

    หากคุณไม่คุ้นเคยกับ GitHub Actions และต้องการเรียนรู้เพิ่มเติม โปรดดูเอกสารประกอบอย่างเป็นทางการที่https://docs.github.com/en/actions

  6. ตอนนี้คุณพร้อมที่จะคอมมิตการเปลี่ยนแปลงของคุณแล้ว เลือก เริ่มคอมมิต พิมพ์ สร้าง YML การส่งออก ในฟิลด์ชื่อเรื่อง แล้วเพิ่มคำอธิบาย (ไม่บังคับ) จากนั้น เลือก คอมมิตไฟล์ใหม่

    เริ่ม commit

ขอแสดงความยินดี คุณได้สร้างเวิร์กโฟลว์ GitHub แรกของคุณโดยใช้การดําเนินการต่อไปนี้:

  • Who Am I: ตรวจสอบให้แน่ใจว่าคุณสามารถเชื่อมต่อกับสภาพแวดล้อมที่คุณต้องการส่งออกได้สำเร็จ
  • ส่งออกโซลูชัน: ส่งออกไฟล์โซลูชันจากสภาพแวดล้อมการพัฒนาของคุณ
  • Unpack Solution: ไฟล์โซลูชันที่เซิร์ฟเวอร์ส่งออกเป็นไฟล์บีบอัด (zip) ที่มีไฟล์การกําหนดค่าแบบรวม ไฟล์เริ่มต้นเหล่านี้ไม่เหมาะสำหรับการจัดการซอร์สโค้ด เนื่องจากไฟล์เหล่านี้ไม่ได้มีโครงสร้างในลักษณะที่ทำให้ระบบจัดการซอร์สโค้ดสามารถเปรียบเทียบความแตกต่างของไฟล์ได้อย่างเหมาะสม และบันทึกการเปลี่ยนแปลงที่คุณต้องการคอมมิตไปยังระบบควบคุมซอร์สโค้ดได้ คุณจําเป็นต้อง แตกไฟล์ โซลูชันออกเพื่อให้เหมาะสําหรับการจัดเก็บและการประมวลผลของระบบควบคุมเวอร์ชัน
  • Branch Solution: สร้างสาขาใหม่เพื่อจัดเก็บโซลูชันที่ส่งออก

ทดสอบการส่งออกและการแตกไฟล์

  1. จากนั้น ทดสอบว่าเวิร์กโฟลว์ทำงาน ไปที่ การดําเนินการ เลือก เรียกใช้เวิร์กโฟลว์ และเลือก เรียกใช้เวิร์กโฟลว์ ถ้าคุณใช้ชื่อโซลูชันอื่นนอกเหนือจาก ALMLabเปลี่ยนค่าที่นี่ แต่เก็บค่าอื่น ๆ ให้เหมือนกัน

    เรียกใช้เวิร์กโฟลว์

  2. หลังจาก 5-10 วินาที เวิร์กโฟลว์จะเริ่มต้น คุณสามารถเลือกเวิร์กโฟลว์ที่กําลังทํางานอยู่เพื่อตรวจสอบความคืบหน้า

    คลิกเพื่อดูเวิร์กโฟลว์。

    เลือกและดูเวิร์กโฟลว์

  3. หลังจากเวิร์กโฟลว์เสร็จสิ้น ให้ตรวจสอบว่ามีการสร้างสาขาใหม่โดยมีโซลูชันที่แตกไฟล์ไว้ในโฟลเดอร์ solutions/ALMLab ไปที่แท็บ โค้ด และ ขยายเมนูดรอปดาวน์ สาขา

  4. เลือกสาขาที่สร้างโดยการดำเนินการนี้

  5. ตรวจสอบว่าโฟลเดอร์ solutions/ALMLab ถูกสร้างขึ้นในสาขาใหม่ จากนั้น สร้างพูลรีเควสต์เพื่อรวมการเปลี่ยนแปลงลงในสาขาหลัก เลือก Contribute และในเมนูลอย เลือก Open Pull request

  6. บนหน้าจอ เปิด Pull Request ให้เพิ่มชื่อเรื่องและคำอธิบายหากคุณต้องการ จากนั้น เลือก สร้าง Pull Request

  7. หน้าจอจะอัปเดตเพื่อแสดงพูลรีเควสต์ใหม่ เมื่อคุณสร้าง pull request คุณจะได้รับการยืนยันว่าสาขาของคุณไม่มีความขัดแย้งกับสาขาหลัก การยืนยันนี้หมายความว่า คุณสามารถผสานการเปลี่ยนแปลงลงในสาขาหลักโดยอัตโนมัติ เลือก ผสานคําขอดึงข้อมูล จากนั้นเลือก ยืนยันการผสาน หากต้องการ ให้เลือกลบสาขาเพื่อลบสาขาที่เลิกใช้งานแล้ว

    ดูแบรนช์

  8. ย้อนกลับไปยังบรานช์เริ่มต้น (หลัก) และตรวจสอบว่าโซลูชันพร้อมใช้งานอยู่ที่นั่น

สร้างเวิร์กโฟลว์ที่ใช้ซ้ำได้เพื่อสร้างอาร์ทิแฟกต์ของบิลด์และนำเข้าไปยังระบบใช้งานจริง

ในส่วนนี้ ให้สร้างเวิร์กโฟลว์เพิ่มเติมที่:

  • สร้างโซลูชันที่มีการจัดการ และเผยแพร่เป็นอาร์ทิแฟกต์ GitHub
  • นำเข้าอาร์ติแฟกต์การสร้างเข้าสู่สภาพแวดล้อมการผลิต
  1. ไปที่ Actions และเลือก เวิร์กโฟลว์ใหม่.

    สร้างเวิร์กโฟลว์ใหม่

  2. เลือกตั้งค่าเวิร์กโฟลว์ด้วยตัวคุณเอง

    ตั้งค่าเวิร์กโฟลว์

  3. เปลี่ยนชื่อชื่อเรื่องของเวิร์กโฟลว์เป็นrelease-solution-to-prod-with-inputs คัดลอกเนื้อหาจากไฟล์ release-solution-to-prod-with-inputs.yml และวางลงในหน้าจอ Edit new file

    เปลี่ยนชื่อและวางโค้ด

  4. บันทึกการเปลี่ยนแปลง เลือก เริ่มคอมมิต จากนั้นเพิ่มชื่อและคำอธิบาย (ไม่บังคับ) จากนั้น เลือก Commit new file

    ยืนยันการเปลี่ยนแปลง

เรียกเวิร์กโฟลว์ที่ใช้ซ้ำได้เมื่อเกิดเหตุการณ์การเผยแพร่

ในส่วนนี้ คุณจะเรียกเวิร์กโฟลว์ที่นํามาใช้ใหม่ได้ในเหตุการณ์การเผยแพร่

  1. ไปที่ แอ็กชัน และเลือก เวิร์กโฟลว์ใหม่.

    สร้างเวิร์กโฟลว์ใหม่

  2. เลือก ตั้งค่าเวิร์กโฟลว์ด้วยตนเอง.

    ตั้งค่าเวิร์กโฟลว์

  3. เปลี่ยนชื่อชื่อเรื่องของเวิร์กโฟลว์เป็นrelease-action-call คัดลอกเนื้อหาจากไฟล์ release-action-call.yml และวางลงในหน้าจอแก้ไขไฟล์ใหม่

    เปลี่ยนชื่อและวางรหัส

  4. ปรับปรุงตัวแปรต่อไปนี้ในไฟล์เวิร์กโฟลว์ใหม่:

    • อัปเดต <BUILD_ENVIRONMENT> ด้วย URL สำหรับสภาพแวดล้อมการสร้างที่คุณกำลังใช้เพื่อสร้างโซลูชันที่มีการจัดการ ตัวอย่างเช่น: https://poweractionsbuild.crm.dynamics.com
    • อัปเดต <PROD_ENVIRONMENT> ด้วย URL สําหรับสภาพแวดล้อมการผลิตที่คุณกําลังปรับใช้ ตัวอย่างเช่น: https://poweractionsprod.crm.dynamics.com
    • อัปเดต<APP_ID>ด้วย ID แอปพลิเคชัน (ไคลเอ็นต์) ที่คุณพบใน blade App registrations ของ Azure Portal Microsoft โดยการเลือกการลงทะเบียนที่คุณสร้างไว้ก่อนหน้านี้ในบทช่วยสอนนี้
    • อัปเดต<TENANT_ID>ด้วย ID ไดเรกทอรี (ผู้เช่า) ที่คุณพบใน blade App registrations ของ Azure Portal Microsoft โดยการเลือกการลงทะเบียนที่คุณสร้างไว้ก่อนหน้านี้ในบทช่วยสอนนี้
  5. คอมมิตการเปลี่ยนแปลง เลือก Start commit จากนั้นเพิ่มชื่อ (ไม่บังคับ) และคำอธิบาย (ไม่บังคับ) จากนั้น เลือก Commit new file

    ยืนยันการเปลี่ยนแปลง

ทดสอบเวิร์กโฟลว์การปล่อยขึ้นใช้งานจริง

ตอนนี้คุณก็พร้อมที่จะทดสอบเวิร์กโฟลว์สุดท้ายแล้ว เวิร์กโฟลว์นี้จะทำงานเมื่อมีการ deploy release ใหม่ไปยังระบบใช้งานจริง

  1. ไปยังรีลีส.

    นำทางไปยังรีลีส

  2. เลือก สร้าง release ใหม่

  3. เพิ่มแท็กรีลีส ระบุชื่อ และเลือก เผยแพร่รุ่น

  4. เลือก Actions เพื่อดูเวิร์กโฟลว์ที่กำลังทำงานอยู่

    เลือกเพื่อดูเวิร์กโฟลว์

  5. เลือกเวิร์กโฟลว์ที่กำลังทำงานอยู่เพื่อดูการดำเนินการขณะที่เรียกใช้

    ดูเวิร์กโฟลว์

  6. รอให้แต่ละการดำเนินการเสร็จสิ้น

    ดูบรานช์

  7. หลังจากเวิร์กโฟลว์เสร็จสิ้น ให้ลงชื่อเข้าใช้ในสภาพแวดล้อมการผลิตของคุณ และตรวจสอบว่า มีการปรับใช้โซลูชันเป็นโซลูชันที่มีการจัดการ

ปรับใช้การอัปเดตและตรวจสอบการเปลี่ยนแปลงก่อนนำออกใช้จริง

ทดสอบกระบวนการแบบ end-to-end และจากนั้นดูว่าคุณสามารถดูและตรวจสอบการเปลี่ยนแปลงในแอปก่อนที่คุณจะปรับใช้กับระบบจริงได้อย่างไร

  1. ไปที่โซลูชัน ALMLab ในสภาพแวดล้อมการพัฒนาของคุณ และเลือก แก้ไข หรือเลือกชื่อที่แสดงโซลูชัน

    แก้ไขโซลูชัน.

  2. เลือกและดูตาราง คำขอการลาหยุด

    ดูตาราง

  3. เลือก + เพิ่มคอลัมน์ และสร้างคอลัมน์ใหม่ดังที่แสดงในรูปต่อไปนี้

    เพิ่มคอลัมน์

    ค่าฟิลด์ที่อัปเดต:**

    • ชื่อที่แสดง: ได้รับการอนุมัติ
    • ประเภทข้อมูล: ใช่/ไม่ใช่
  4. เลือก เสร็จสิ้น

  5. เลือก บันทึกตาราง เพิ่มคอลัมน์.

  6. กลับไปที่แท็บ Actions ของ GitHub repositories ของคุณ เลือก เรียกใช้เวิร์กโฟลว์ และเลือกปุ่ม เรียกใช้เวิร์กโฟลว์

    รันเวิร์กโฟลว์

  7. หลังจาก 5-10 วินาที เวิร์กโฟลว์จะเริ่มต้น เลือกเวิร์กโฟลว์ที่กําลังทํางานอยู่เพื่อตรวจสอบความคืบหน้า

    เลือกเวิร์กโฟลว์

    ดูเวิร์กโฟลว์

  8. หลังจากเวิร์กโฟลว์เสร็จสิ้น ให้ไปที่สาขาใหม่โดยการเลือก Code และ Branches

    นำทางไปยังสาขา

  9. เลือกสาขาที่คุณสร้างขึ้นโดยการขยาย contribute และเลือก Open pull request

  10. เพิ่มชื่อเรื่อง (ไม่บังคับ) จากนั้นเลือก สร้างพูลรีเควสต์

  11. หลังจากการอัปเดตเนื้อหา เลือกแท็บ ไฟล์ที่เปลี่ยนแปลง

  12. โปรดสังเกตว่าการเปลี่ยนแปลงในโซลูชันจะถูกเน้นด้วยสีเขียวเพื่อระบุว่าส่วนนี้ของไฟล์ถูกเพิ่มเมื่อเทียบกับไฟล์เดียวกันในสาขาหลัก

  13. กลับไปยังแท็บ การสนทนา เลือก พูลรีเควสต์ จากนั้นเลือกพูลรีเควสต์ที่คุณสร้างไว้ก่อนหน้านี้

  14. บนหน้า Pull request ให้เลือก Squash and merge เพื่อผสานไฟล์โซลูชันที่อัปเดตแล้วลงในสาขาหลักของคุณ คุณอาจลบสาขานั้นได้ เนื่องจากสาขานั้นถูกผสานเข้ากับ main แล้ว

    เปิดพูลรีเควสต์สำหรับแบรนช์ใหม่ ดูการเปลี่ยนแปลงและรวมเป็นแบรนช์เริ่มต้น

  15. ทำตามขั้นตอนในส่วน เวิร์กโฟลว์ทดสอบการเผยแพร่ไปยังการใช้งานจริง เพื่อสร้างการเผยแพร่ใหม่ และตรวจสอบว่ามีการปรับใช้โซลูชันที่อัปเดตแล้วกับสภาพแวดล้อมการผลิตของคุณหรือไม่

ขอแสดงความยินดี คุณตั้งค่าเวิร์กโฟลว์ CI/CD ตัวอย่างเรียบร้อยแล้วโดยใช้การดําเนินการ GitHub!

ดูเพิ่มเติม

ทำให้เวิร์กโฟลว์ของคุณเป็นอัตโนมัติตั้งแต่ขั้นไอเดียไปจนถึงการนำไปใช้งานจริง