หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ในบทช่วยสอนนี้ คุณจะเรียนรู้วิธีการ:
- สร้างที่เก็บข้อมูลบน GitHub ใหม่
- สร้างเวิร์กโฟลว์ GitHub สองเวิร์กโฟลว์โดยใช้ GitHub Actions สําหรับ Microsoft Power Platform
เวิร์กโฟลว์สามารถส่งออกแอปของคุณโดยอัตโนมัติ (เป็นโซลูชันที่ไม่มีการจัดการ) จากสภาพแวดล้อมการพัฒนา สร้างอาร์ทิแฟกต์การสร้าง (โซลูชันที่มีการจัดการ) และปรับใช้แอปในสภาพแวดล้อมการทำงานจริงของคุณ บทช่วยสอนนี้ใช้ โซลูชัน ALMLab ที่คุณสร้างและสภาพแวดล้อมที่คุณตั้งค่าไว้ในบทช่วยสอนก่อนหน้านี้
บทช่วยสอนที่เกี่ยวข้อง: เริ่มต้นใช้งาน และ สร้างแอปที่ขับเคลื่อนด้วยโมเดล
สร้างบัญชี GitHub
ไปที่ https://github.com และเลือก ลงทะเบียน หรือ เริ่มทดลองใช้ฟรี (หรือลงชื่อเข้าใช้ถ้าคุณมีบัญชีอยู่แล้ว)
หลังจากที่คุณสร้างบัญชีของคุณแล้ว ให้สร้างที่เก็บข้อมูลโดยการเลือกสร้างที่เก็บข้อมูลหรือสร้างใหม่
คุณอาจเห็นหน้าจอเริ่มต้นทางเลือกต่อไปนี้:
สร้างที่เก็บข้อมูลใหม่ของคุณ แล้วตั้งชื่อเป็น
poweractionslabตรวจสอบให้แน่ใจว่าคุณเลือก เพิ่มไฟล์ README เพื่อเริ่มต้น repo และเลือก Create repository
การสร้างข้อมูลลับใหม่สำหรับการรับรองความถูกต้องของ Service Principal
ไปยังที่เก็บของคุณและเลือก การตั้งค่า ขยาย Secrets แล้วเลือก Actions
บนหน้า ความลับ ให้ตั้งชื่อความลับเป็น
PowerPlatformSPNใส่ข้อมูลลับไคลเอ็นต์จากการลงทะเบียนแอปพลิเคชันที่คุณสร้างขึ้นใน Microsoft Entra ลงในเขตข้อมูล ค่า จากนั้นเลือก เพิ่มข้อมูลลับ คุณจะได้อ้างอิงข้อมูลลับไคลเอ็นต์ในไฟล์ YML ที่กําหนดเวิร์กโฟลว์ GitHub ในภายหลังในบทช่วยสอนนี้
ตอนนี้ client secret ถูกเก็บไว้อย่างปลอดภัยเป็น GitHub secret
สร้างเวิร์กโฟลว์เพื่อส่งออกและแยกไฟล์โซลูชันในสาขาใหม่
เลือก Actions จากนั้นเลือก ตั้งค่าเวิร์กโฟลว์ด้วยตัวคุณเอง หรือเลือก กําหนดค่า ในกล่อง เวิร์กโฟลว์แบบง่าย ภายใต้ส่วน ที่แนะนําสําหรับที่เก็บนี้
คุณเห็นไฟล์ YAML ใหม่ที่มีเวิร์กโฟลว์พื้นฐานเพื่อช่วยให้คุณเริ่มต้นด้วย GitHub Actions
ลบเนื้อหาที่กําหนดไว้ล่วงหน้า แล้ววางเนื้อหาจากไฟล์ export-and-branch-solution-with-spn-auth.yml เปลี่ยนชื่อไฟล์เป็น
export-and-branch-solution.yml
ปรับปรุง
<ENVIRONMENTURL>ด้วย URL สำหรับสภาพแวดล้อมการพัฒนาที่คุณต้องการส่งออกจาก (ตัวอย่างเช่น:https://poweractionsdev.crm.dynamics.com)ปรับปรุง
<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
ตอนนี้คุณพร้อมที่จะคอมมิตการเปลี่ยนแปลงของคุณแล้ว เลือก เริ่มคอมมิต พิมพ์ สร้าง YML การส่งออก ในฟิลด์ชื่อเรื่อง แล้วเพิ่มคำอธิบาย (ไม่บังคับ) จากนั้น เลือก คอมมิตไฟล์ใหม่
ขอแสดงความยินดี คุณได้สร้างเวิร์กโฟลว์ GitHub แรกของคุณโดยใช้การดําเนินการต่อไปนี้:
- Who Am I: ตรวจสอบให้แน่ใจว่าคุณสามารถเชื่อมต่อกับสภาพแวดล้อมที่คุณต้องการส่งออกได้สำเร็จ
- ส่งออกโซลูชัน: ส่งออกไฟล์โซลูชันจากสภาพแวดล้อมการพัฒนาของคุณ
- Unpack Solution: ไฟล์โซลูชันที่เซิร์ฟเวอร์ส่งออกเป็นไฟล์บีบอัด (zip) ที่มีไฟล์การกําหนดค่าแบบรวม ไฟล์เริ่มต้นเหล่านี้ไม่เหมาะสำหรับการจัดการซอร์สโค้ด เนื่องจากไฟล์เหล่านี้ไม่ได้มีโครงสร้างในลักษณะที่ทำให้ระบบจัดการซอร์สโค้ดสามารถเปรียบเทียบความแตกต่างของไฟล์ได้อย่างเหมาะสม และบันทึกการเปลี่ยนแปลงที่คุณต้องการคอมมิตไปยังระบบควบคุมซอร์สโค้ดได้ คุณจําเป็นต้อง แตกไฟล์ โซลูชันออกเพื่อให้เหมาะสําหรับการจัดเก็บและการประมวลผลของระบบควบคุมเวอร์ชัน
- Branch Solution: สร้างสาขาใหม่เพื่อจัดเก็บโซลูชันที่ส่งออก
ทดสอบการส่งออกและการแตกไฟล์
จากนั้น ทดสอบว่าเวิร์กโฟลว์ทำงาน ไปที่ การดําเนินการ เลือก เรียกใช้เวิร์กโฟลว์ และเลือก เรียกใช้เวิร์กโฟลว์ ถ้าคุณใช้ชื่อโซลูชันอื่นนอกเหนือจาก
ALMLabเปลี่ยนค่าที่นี่ แต่เก็บค่าอื่น ๆ ให้เหมือนกัน
หลังจาก 5-10 วินาที เวิร์กโฟลว์จะเริ่มต้น คุณสามารถเลือกเวิร์กโฟลว์ที่กําลังทํางานอยู่เพื่อตรวจสอบความคืบหน้า
หลังจากเวิร์กโฟลว์เสร็จสิ้น ให้ตรวจสอบว่ามีการสร้างสาขาใหม่โดยมีโซลูชันที่แตกไฟล์ไว้ในโฟลเดอร์
solutions/ALMLabไปที่แท็บ โค้ด และ ขยายเมนูดรอปดาวน์ สาขาเลือกสาขาที่สร้างโดยการดำเนินการนี้
ตรวจสอบว่าโฟลเดอร์
solutions/ALMLabถูกสร้างขึ้นในสาขาใหม่ จากนั้น สร้างพูลรีเควสต์เพื่อรวมการเปลี่ยนแปลงลงในสาขาหลัก เลือก Contribute และในเมนูลอย เลือก Open Pull requestบนหน้าจอ เปิด Pull Request ให้เพิ่มชื่อเรื่องและคำอธิบายหากคุณต้องการ จากนั้น เลือก สร้าง Pull Request
หน้าจอจะอัปเดตเพื่อแสดงพูลรีเควสต์ใหม่ เมื่อคุณสร้าง pull request คุณจะได้รับการยืนยันว่าสาขาของคุณไม่มีความขัดแย้งกับสาขาหลัก การยืนยันนี้หมายความว่า คุณสามารถผสานการเปลี่ยนแปลงลงในสาขาหลักโดยอัตโนมัติ เลือก ผสานคําขอดึงข้อมูล จากนั้นเลือก ยืนยันการผสาน หากต้องการ ให้เลือกลบสาขาเพื่อลบสาขาที่เลิกใช้งานแล้ว
ย้อนกลับไปยังบรานช์เริ่มต้น (หลัก) และตรวจสอบว่าโซลูชันพร้อมใช้งานอยู่ที่นั่น
สร้างเวิร์กโฟลว์ที่ใช้ซ้ำได้เพื่อสร้างอาร์ทิแฟกต์ของบิลด์และนำเข้าไปยังระบบใช้งานจริง
ในส่วนนี้ ให้สร้างเวิร์กโฟลว์เพิ่มเติมที่:
- สร้างโซลูชันที่มีการจัดการ และเผยแพร่เป็นอาร์ทิแฟกต์ GitHub
- นำเข้าอาร์ติแฟกต์การสร้างเข้าสู่สภาพแวดล้อมการผลิต
ไปที่ Actions และเลือก เวิร์กโฟลว์ใหม่.
เลือกตั้งค่าเวิร์กโฟลว์ด้วยตัวคุณเอง
เปลี่ยนชื่อชื่อเรื่องของเวิร์กโฟลว์เป็น
release-solution-to-prod-with-inputsคัดลอกเนื้อหาจากไฟล์ release-solution-to-prod-with-inputs.yml และวางลงในหน้าจอ Edit new file
บันทึกการเปลี่ยนแปลง เลือก เริ่มคอมมิต จากนั้นเพิ่มชื่อและคำอธิบาย (ไม่บังคับ) จากนั้น เลือก Commit new file
เรียกเวิร์กโฟลว์ที่ใช้ซ้ำได้เมื่อเกิดเหตุการณ์การเผยแพร่
ในส่วนนี้ คุณจะเรียกเวิร์กโฟลว์ที่นํามาใช้ใหม่ได้ในเหตุการณ์การเผยแพร่
ไปที่ แอ็กชัน และเลือก เวิร์กโฟลว์ใหม่.
เลือก ตั้งค่าเวิร์กโฟลว์ด้วยตนเอง.
เปลี่ยนชื่อชื่อเรื่องของเวิร์กโฟลว์เป็น
release-action-callคัดลอกเนื้อหาจากไฟล์ release-action-call.yml และวางลงในหน้าจอแก้ไขไฟล์ใหม่
ปรับปรุงตัวแปรต่อไปนี้ในไฟล์เวิร์กโฟลว์ใหม่:
- อัปเดต
<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 โดยการเลือกการลงทะเบียนที่คุณสร้างไว้ก่อนหน้านี้ในบทช่วยสอนนี้
- อัปเดต
คอมมิตการเปลี่ยนแปลง เลือก Start commit จากนั้นเพิ่มชื่อ (ไม่บังคับ) และคำอธิบาย (ไม่บังคับ) จากนั้น เลือก Commit new file
ทดสอบเวิร์กโฟลว์การปล่อยขึ้นใช้งานจริง
ตอนนี้คุณก็พร้อมที่จะทดสอบเวิร์กโฟลว์สุดท้ายแล้ว เวิร์กโฟลว์นี้จะทำงานเมื่อมีการ deploy release ใหม่ไปยังระบบใช้งานจริง
ไปยังรีลีส.
เลือก สร้าง release ใหม่
เพิ่มแท็กรีลีส ระบุชื่อ และเลือก เผยแพร่รุ่น
เลือก Actions เพื่อดูเวิร์กโฟลว์ที่กำลังทำงานอยู่
เลือกเวิร์กโฟลว์ที่กำลังทำงานอยู่เพื่อดูการดำเนินการขณะที่เรียกใช้
รอให้แต่ละการดำเนินการเสร็จสิ้น
หลังจากเวิร์กโฟลว์เสร็จสิ้น ให้ลงชื่อเข้าใช้ในสภาพแวดล้อมการผลิตของคุณ และตรวจสอบว่า มีการปรับใช้โซลูชันเป็นโซลูชันที่มีการจัดการ
ปรับใช้การอัปเดตและตรวจสอบการเปลี่ยนแปลงก่อนนำออกใช้จริง
ทดสอบกระบวนการแบบ end-to-end และจากนั้นดูว่าคุณสามารถดูและตรวจสอบการเปลี่ยนแปลงในแอปก่อนที่คุณจะปรับใช้กับระบบจริงได้อย่างไร
ไปที่โซลูชัน ALMLab ในสภาพแวดล้อมการพัฒนาของคุณ และเลือก แก้ไข หรือเลือกชื่อที่แสดงโซลูชัน
เลือกและดูตาราง คำขอการลาหยุด
เลือก + เพิ่มคอลัมน์ และสร้างคอลัมน์ใหม่ดังที่แสดงในรูปต่อไปนี้
ค่าฟิลด์ที่อัปเดต:**
- ชื่อที่แสดง: ได้รับการอนุมัติ
- ประเภทข้อมูล: ใช่/ไม่ใช่
เลือก เสร็จสิ้น
เลือก บันทึกตาราง
กลับไปที่แท็บ Actions ของ GitHub repositories ของคุณ เลือก เรียกใช้เวิร์กโฟลว์ และเลือกปุ่ม เรียกใช้เวิร์กโฟลว์
หลังจาก 5-10 วินาที เวิร์กโฟลว์จะเริ่มต้น เลือกเวิร์กโฟลว์ที่กําลังทํางานอยู่เพื่อตรวจสอบความคืบหน้า
หลังจากเวิร์กโฟลว์เสร็จสิ้น ให้ไปที่สาขาใหม่โดยการเลือก Code และ Branches
เลือกสาขาที่คุณสร้างขึ้นโดยการขยาย contribute และเลือก Open pull request
เพิ่มชื่อเรื่อง (ไม่บังคับ) จากนั้นเลือก สร้างพูลรีเควสต์
หลังจากการอัปเดตเนื้อหา เลือกแท็บ ไฟล์ที่เปลี่ยนแปลง
โปรดสังเกตว่าการเปลี่ยนแปลงในโซลูชันจะถูกเน้นด้วยสีเขียวเพื่อระบุว่าส่วนนี้ของไฟล์ถูกเพิ่มเมื่อเทียบกับไฟล์เดียวกันในสาขาหลัก
กลับไปยังแท็บ การสนทนา เลือก พูลรีเควสต์ จากนั้นเลือกพูลรีเควสต์ที่คุณสร้างไว้ก่อนหน้านี้
บนหน้า Pull request ให้เลือก Squash and merge เพื่อผสานไฟล์โซลูชันที่อัปเดตแล้วลงในสาขาหลักของคุณ คุณอาจลบสาขานั้นได้ เนื่องจากสาขานั้นถูกผสานเข้ากับ main แล้ว
ทำตามขั้นตอนในส่วน เวิร์กโฟลว์ทดสอบการเผยแพร่ไปยังการใช้งานจริง เพื่อสร้างการเผยแพร่ใหม่ และตรวจสอบว่ามีการปรับใช้โซลูชันที่อัปเดตแล้วกับสภาพแวดล้อมการผลิตของคุณหรือไม่
ขอแสดงความยินดี คุณตั้งค่าเวิร์กโฟลว์ CI/CD ตัวอย่างเรียบร้อยแล้วโดยใช้การดําเนินการ GitHub!
ดูเพิ่มเติม
ทำให้เวิร์กโฟลว์ของคุณเป็นอัตโนมัติตั้งแต่ขั้นไอเดียไปจนถึงการนำไปใช้งานจริง