กำหนดค่าไปป์ไลน์ ALM Accelerator
ไปป์ไลน์เป็นเครื่องยนต์ของ ALM Accelerator ไปป์ไลน์ทำให้กระบวนการ ALM เป็นไปโดยอัตโนมัติสำหรับ Power Platform ไปป์ไลน์สร้างขึ้นโดยใช้ Azure Pipelines ซึ่งเป็นบริการของ Azure DevOps และจัดเก็บไว้ในโครงการ Azure DevOps
ไปป์ไลน์หลักที่ใช้ทำให้กระบวนการ ALM เป็นไปโดยอัตโนมัติมีสี่รายการ:
- Import
- Export
- Delete
- สร้าง/ปรับใช้งาน
ไปป์ไลน์ได้รับการออกแบบมาเพื่อใช้กับแอปพื้นที่ทำงาน ALM Accelerator คุณไม่จำเป็นต้องใช้แอป แต่เราขอแนะนำ แอปนี้มีอินเทอร์เฟซที่เรียบง่ายสำหรับการเรียกใช้ไปป์ไลน์และวิธีกำหนดค่าโดยไม่ต้องเข้าใจ พารามิเตอร์พื้นฐาน
สถานการณ์ไปป์ไลน์ ALM Accelerator ทั่วไป
ไปป์ไลน์และแอป ALM Accelerator มีการกำหนดค่าเริ่มต้นที่ช่วยให้คุณเริ่มต้นได้อย่างรวดเร็วด้วย ALM สำหรับ Power Platform ไปป์ไลน์สามารถครอบคลุมสถานการณ์ ALM ต่างๆ มากมายเพื่อตอบสนองความต้องการขององค์กรของคุณ ส่วนต่อไปนี้อธิบายสถานการณ์ทั่วไปบางสถานการณ์และวิธีครอบคลุมผ่านการกำหนดค่าไปป์ไลน์ โปรไฟล์การปรับใช้งาน และขั้นตอนในแอป ALM Accelerator หรือผ่านไปป์ไลน์โดยตรง
ติดตั้งไปป์ไลน์ในโครงการหนึ่งและโค้ดต้นฉบับในอีกโครงการหนึ่ง
ในแอป ALM Accelerator และในโปรไฟล์การปรับใช้งาน คุณสามารถระบุโครงการไปป์ไลน์และโครงการต้นทางได้ ตัวเลือกในตัวช่วยสร้างการตั้งค่าช่วยให้คุณสามารถระบุโครงการไปป์ไลน์และที่เก็บที่แยกจากกันได้ ตัวเลือกเหล่านี้มีประโยชน์หากคุณต้องการแบ่งส่วนการจัดเก็บโซลูชันตามผู้ใช้ โครงสร้างองค์กร หรือปัจจัยอื่นๆ ในกรณีส่วนใหญ่ ไฟล์ YAML ไปป์ไลน์จะถูกจัดเก็บไว้ในโครงการไปป์ไลน์ และไปป์ไลน์การส่งออก นำเข้า และลบจะถูกสร้างขึ้นในโครงการที่โซลูชันควบคุมแหล่งที่มา
เรียกใช้ไปป์ไลน์โดยไม่มี ALM Accelerator
แอปพื้นที่ทำงาน ALM Accelerator มีเลเยอร์ปุ่มที่ง่ายสำหรับการเรียกใช้ไปป์ไลน์ อย่างไรก็ตาม คุณไม่จำเป็นต้องมีแอปเพื่อเรียกใช้งาน หากคุณต้องการใช้ไปป์ไลน์โดยไม่อิงกับแอป ให้เรียกใช้โดยตรงจากบรรทัดคำสั่ง คุณสามารถสร้างแอปของคุณเอง ใช้ตัวเชื่อมต่อแบบกำหนดเองสำหรับ Azure DevOps API ซึ่งรวมอยู่ในโซลูชัน ALM Accelerator เพื่อเรียกใช้ไปป์ไลน์โดยใช้ Power Automate หรือเทคโนโลยี Power Platform อื่นๆ
ไม่ว่าในกรณีใด ถ้าคุณต้องการใช้ไปป์ไลน์โดยอิสระ กุญแจสำคัญคือการทำความเข้าใจพารามิเตอร์ที่ส่งผ่านไปยังไปป์ไลน์
พารามิเตอร์ไปป์ไลน์
พารามิเตอร์สำหรับ import-unmanaged-to-dev-environment: ใช้ไปป์ไลน์การนำเข้าโซลูชันเพื่อนำเข้าโซลูชันที่ไม่ได้รับการจัดการจากการควบคุมแหล่งที่มาสู่สภาพแวดล้อมการพัฒนา
ตารางต่อไปนี้อธิบายพารามิเตอร์ของไปป์ไลน์นำเข้า
พารามิเตอร์ | ตัวอย่างเช่น | รายละเอียด |
---|---|---|
Project | โครงการ Azure DevOps ของฉัน | ชื่อของโครงการที่จะนำเข้าโซลูชันไปยัง |
ที่เก็บ | ที่เก็บ Azure DevOps ของฉัน | ชื่อของที่เก็บที่จะนำเข้าโซลูชันจาก |
SolutionName | MySolutionName | ชื่อของโซลูชันที่จะนำเข้า |
me@example.com | ที่อยู่อีเมลของผู้ใช้ที่นำเข้าโซลูชัน | |
UserName | นามสกุล ชื่อ | ชื่อผู้ใช้ของผู้ใช้ที่นำเข้าโซลูชัน |
สาขา | main | สาขาในการสร้างโซลูชันและนำเข้าจาก |
ServiceConnectionName | MyServiceConnection | ชื่อของการเชื่อมต่อบริการที่จะใช้สำหรับการนำเข้า |
ServiceConnectionUrl | example.crm.dynamics.com | URL ของสภาพแวดล้อมผู้สร้างสำหรับการนำเข้า |
EnvironmentName | MyDevEnvironment | ใช้ค้นหาการตั้งค่าการปรับใช้งานในไปป์ไลน์การปรับใช้งาน ส่งคืนชื่อโฟลเดอร์ภายใต้ไดเรกทอรี config ในแหล่งที่มาโซลูชัน |
พารามิเตอร์สำหรับ delete-unmanaged-solution-and-components: ใช้ไปป์ไลน์การลบโซลูชันเพื่อลบโซลูชันที่ไม่ได้รับการจัดการและส่วนประกอบทั้งหมดออกจากสภาพแวดล้อมการพัฒนา
ตารางต่อไปนี้อธิบายพารามิเตอร์ของไปป์ไลน์ลบ
พารามิเตอร์ | ตัวอย่างเช่น | รายละเอียด |
---|---|---|
SolutionName | MySolutionName | ชื่อของโซลูชันที่จะลบ |
ServiceConnectionName | MyServiceConnection | ชื่อของการเชื่อมต่อบริการที่จะใช้สำหรับโซลูชันที่จะลบ |
ServiceConnectionUrl | example.crm.dynamics.com | URL ของสภาพแวดล้อมผู้สร้างสำหรับโซลูชันที่จะลบ |
พารามิเตอร์สำหรับ export-solution-to-git: ใช้ขั้นตอนการส่งออกโซลูชันเพื่อส่งออกโซลูชันไปยังที่เก็บ Git
ตารางต่อไปนี้อธิบายพารามิเตอร์ของไปป์ไลน์ส่งออก
พารามิเตอร์ | ตัวอย่างเช่น | รายละเอียด |
---|---|---|
Project | โครงการ Azure DevOps ของฉัน | ชื่อของโครงการที่จะส่งออกโค้ดต้นฉบับโซลูชันไปยัง |
ที่เก็บ | ที่เก็บ Azure DevOps ของฉัน | ชื่อของที่เก็บที่จะส่งออกโค้ดต้นฉบับโซลูชันไปยัง |
SolutionName | MySolutionName | ชื่อของโซลูชันที่จะส่งออก |
me@example.com | ที่อยู่อีเมลของผู้ใช้ที่ส่งออกโซลูชัน | |
UserName | นามสกุล ชื่อ | ชื่อผู้ใช้ของผู้ใช้ที่ส่งออกโซลูชัน |
CommitMessage | การแก้ไขข้อบกพร่อง #1234 | คำอธิบายของการเปลี่ยนแปลงที่จะจัดเก็บการยืนยันในที่เก็บ |
สาขา | main | สาขาต้นทางเพื่อสร้างสาขาหรือสาขาที่มีอยู่เพื่อยอมรับ |
BranchToCreate | feature-1234 | ชื่อเฉพาะของสาขาใหม่ที่จะสร้างตามพารามิเตอร์ Branch ถ้าจำเป็น |
ServiceConnectionName | MyServiceConnection | ชื่อของการเชื่อมต่อบริการที่จะใช้สำหรับการส่งออกโซลูชัน |
ServiceConnectionUrl | example.crm.dynamics.com | URL ของสภาพแวดล้อมผู้สร้างที่โซลูชันที่ไม่มีการจัดการที่จะส่งออกอยู่ |
ข้อมูล | [การตั้งค่าการปรับใช้งาน JSON] | สตริง JSON ที่มี การตั้งค่าการปรับใช้งาน เพื่อใช้สำหรับการส่งออกและการกำหนดค่าไปป์ไลน์การปรับใช้งาน |
PortalSiteName | MyPortalSite | ชื่อของเว็บไซต์ Power Pages ที่เกี่ยวข้องกับโซลูชันที่จะส่งออก |
ปรับแต่งการกำหนดเวอร์ชันของโซลูชันเมื่อคุณใช้ไปป์ไลน์ ALM Accelerator เพื่อส่งออกหรือปรับใช้
ตามค่าเริ่มต้น โซลูชันที่ส่งออกและปรับใช้จะมีการกำหนดเวอร์ชันโดยใช้ชื่อที่ระบุใน ไฟล์ YAML ไปป์ไลน์การปรับใช้งาน อย่างไรก็ตาม ไปป์ไลน์ ALM Accelerator ให้คุณสามารถปรับแต่งการกำหนดเวอร์ชันของโซลูชันเมื่อคุณส่งออกหรือปรับใช้ ส่วนต่อไปนี้จะอธิบายวิธีการที่คุณสามารถใช้ได้
การกำหนดเวอร์ชันที่ส่งออก
ใช้หมายเลขเวอร์ชันที่ส่งออกโดยไปป์ไลน์เป็นหมายเลขเวอร์ชันในสภาพแวดล้อมที่ปรับใช้ทั้งหมด สร้างตัวแปรชื่อ UseSolutionVersionFromDataverse ในไปป์ไลน์ส่งออกของคุณหรือตัวแปรส่วนกลางในไลบรารีตัวแปรสำหรับ ALM Accelerator ระบุค่าเป็น จริง ตัวแปรช่วยให้แน่ใจว่าหมายเลขเวอร์ชันที่ส่งออกในโซลูชันของคุณถูกรักษาไว้ในสภาพแวดล้อมแบบดาวน์สตรีม และสะท้อนให้เห็นในการควบคุมแหล่งที่มาของคุณเมื่อมีการยอมรับแหล่งที่มาของโซลูชัน
ตรรกะการกำหนดเวอร์ชันแบบกำหนดเอง
ใช้ ALM Accelerator hook เพื่อตั้งค่าเวอร์ชันของโซลูชัน เพิ่มตรรกะที่กำหนดเองของคุณใน build-solution-pack-pre-hook.yml
เทมเพลตเพื่อจัดการ Solution.xml
โดยตรงหรือใช้เครื่องมืออื่นๆ เช่น pac solution version
การกำหนดเวอร์ชัน bring-your-own-templates ที่กำหนดเอง
ความสามารถในการนำเทมเพลตของคุณเองมาใช้สำหรับการสร้างไปป์ไลน์การปรับใช้งานทำให้มีความยืดหยุ่นสำหรับการกำหนดเวอร์ชันระหว่างการส่งออกโซลูชันครั้งแรก ตัวอย่างเช่น สร้างสำเนาของ build-deploy-validation/test/prod-SampleSolution.yml
และเปลี่ยนชื่อบิลด์จากค่าเริ่มต้นเป็นกลยุทธ์การกำหนดเวอร์ชันตาม กำหนดค่าจำนวนการเรียกใช้หรือบิลด์
build:
- name: 1.0.$(Date:yyyyMMdd)$(Rev:.r)
...
หลังจากที่คุณมีเทมเพลตแล้ว ให้ อัปเดตขั้นตอนการปรับใช้งาน ในโปรไฟล์การปรับใช้งานเพื่อให้ชี้ไปที่ขั้นตอนดังกล่าว
ปรับแต่งจำนวนขั้นตอนการปรับใช้ในไปป์ไลน์ของคุณและชื่อของสภาพแวดล้อมเป้าหมาย
เช่นเดียวกับ การกำหนดเวอร์ชันด้วยเทมเพลตที่กำหนดเอง ความสามารถในการนำเทมเพลตของคุณเองมาใช้สำหรับการสร้างไปป์ไลน์การปรับใช้งานทำให้มีความยืดหยุ่นมากขึ้น สำหรับการกำหนดเวอร์ชันระหว่างการส่งออกโซลูชันครั้งแรก ระบุโครงการที่มีเทมเพลตของคุณอยู่ และพาธไปยังเทมเพลตเพื่อใช้สร้างไปป์ไลน์การปรับใช้งาน การตั้งค่าสำหรับโครงการและพาธอยู่ในโปรไฟล์การปรับใช้งานและตารางขั้นตอนการปรับใช้งานในแอปการดูแลระบบ ALM Accelerator
พาธไปยังเทมเพลตจะสัมพันธ์กับรากของตำแหน่งของไปป์ไลน์การส่งออก ตัวอย่างเช่น พาธไปยังเทมเพลตไปป์ไลน์การปรับใช้งานสภาพแวดล้อมการตรวจสอบความถูกต้องเริ่มต้นคือ /Pipelines/build-deploy-validation-SampleSolution.yml
หากต้องการใช้เทมเพลตในโครงการเดียวกันกับไปป์ไลน์ส่งออก ให้ระบุพาธเป็น /Pipelines/build-deploy-validation-MyCustomTemplate.yml
ตารางต่อไปนี้อธิบายตัวยึดตำแหน่งในเทมเพลตสำหรับค่าเฉพาะโซลูชันซึ่งจะถูกแทนที่เมื่อสร้างไปป์ไลน์การปรับใช้งาน
ตัวกำหนดตำแหน่ง | รายละเอียด |
---|---|
SampleSolutionName | ชื่อของโซลูชันที่จะปรับใช้งาน |
RepositoryContainingTheBuildTemplates | ที่เก็บที่มีเทมเพลตการสร้างเพื่อใช้สำหรับไปป์ไลน์การปรับใช้งาน |
BranchContainingTheBuildTemplates | สาขาที่มีเทมเพลตการสร้างเพื่อใช้สำหรับไปป์ไลน์การปรับใช้งาน |
alm-accelerator-variable-group | กลุ่มตัวแปรส่วนกลางที่เทมเพลตการสร้างใช้สำหรับไปป์ไลน์การปรับใช้งาน |
เราขอแนะนำให้คุณคัดลอกเทมเพลตไปป์ไลน์ build-deploy-validation/test/prod-SampleSolution.yml
เพื่อเริ่มต้นใช้งานเทมเพลตที่คุณกำหนดเอง
ดำเนินการตามขั้นตอนที่กำหนดเองในไปป์ไลน์ของคุณโดยไม่ต้องแก้ไขเทมเพลตเริ่มต้น
เทมเพลตของไปป์ไลน์ ALM Accelerator มีจุดส่วนขยายหรือ hook หลายจุดที่คุณสามารถใช้เพื่อปรับแต่งไปป์ไลน์ในขณะที่ลดการรบกวนจากข้อขัดแย้งในการผสานในสถานการณ์การอัปเกรด เรียนรู้เพิ่มเติมเกี่ยวกับ ALM Accelerator Hooks
เปิดหรือปิดการดำเนินการบางอย่างในไปป์ไลน์
ไปป์ไลน์ใช้ตัวแปรเพื่อกำหนดว่างานควรดำเนินการหรือไม่ หรืองานที่มีความเป็นไปได้หลายอย่างงานใดควรดำเนินการ ตารางต่อไปนี้อธิบายตัวแปรที่คุณสามารถตั้งค่าสำหรับไปป์ไลน์แต่ละรายการหรือผ่าน alm-accelerator-variable-group สำหรับไปป์ไลน์ทั้งหมด
หมายเหตุ
หากต้องการตั้งค่าตัวแปรเหล่านี้สำหรับโซลูชันเฉพาะในการส่งออก ให้สร้างไปป์ไลน์ส่งออกเฉพาะตามเทมเพลตไปป์ไลน์ส่งออก ตั้งชื่อ export-solution-to-git-{SolutionName}
แอป ALM Accelerator ใช้ไปป์ไลน์ส่งออกนี้สำหรับโซลูชันแทนที่จะเป็นไปป์ไลน์ general-purpose export-solution-to-git
ตัวแปร | ค่าเริ่มต้น | ไปป์ไลน์ | รายละเอียด |
---|---|---|---|
GenerateDeploymentSettings | จริง | Export | หากเป็นเท็จ การตั้งค่าการปรับใช้งานจะไม่ถูกสร้างและจัดเก็บไว้ในการควบคุมแหล่งที่มา |
UseDeploymentSettingsPlaceholders | จริง | Export | หากเป็นเท็จ การตั้งค่าการปรับใช้งานจะไม่ใช้ตัวยึดตำแหน่ง และค่าทั้งหมดสำหรับการตั้งค่าการปรับใช้งานจะถูกบันทึกไว้ในไฟล์ deploymentSettings.json และ customDeploymentSettings.json สำคัญ: ข้อมูลที่ละเอียดอ่อนอาจถูกบันทึกเป็นข้อความธรรมดาในการตั้งค่าการปรับใช้ของคุณ ผู้ใช้ที่มีสิทธิ์เข้าถึงการควบคุมแหล่งที่มาสามารถอ่านค่าเหล่านี้ได้ ระวังถ้าคุณตั้งค่าสำหรับตัวแปรนี้ |
DisableFlows | False | Export | ถ้าเป็นจริง โฟลว์ทั้งหมดจะถูกปิดในโค้ดต้นฉบับที่แยกก่อนที่จะยอมรับ |
UseSolutionVersionFromDataverse | False | Export | ถ้าเป็นจริง หมายเลขเวอร์ชันที่ส่งออกในโซลูชันของคุณจะถูกรักษาไว้ในสภาพแวดล้อมดาวน์สตรีม หมายเลขเวอร์ชันจะแสดงให้เห็นในการควบคุมแหล่งที่มาของคุณเมื่อมีการยอมรับแหล่งที่มาของโซลูชัน |
DoNotExportCurrentEnvironmentVariableValues | False | Export | ถ้าเป็นจริง ค่าตัวแปรสำหรับสภาพแวดล้อมปัจจุบันจะถูกลบออกจากโค้ดต้นฉบับสำหรับโซลูชันที่แยกออก |
PublishCustomizationsBeforeExport | จริง | Export | หากเป็นเท็จ จะไม่มีการเผยแพร่การปรับแต่งก่อนที่จะส่งออกโซลูชัน ตัวเลือกนี้มีประโยชน์หากคุณทำงานในสภาพแวดล้อมที่ใช้ร่วมกัน และต้องการส่งออกเฉพาะการปรับแต่งที่เผยแพร่ล่าสุดเท่านั้น |
CacheEnabled | จริง | ส่งออก/ปรับใช้ | หากเป็นเท็จ การแคชโมดูล PowerShell จะถูกปิดใช้งาน ตัวเลือกนี้มีประโยชน์หากไปป์ไลน์ของคุณดำเนินการล้างไดเรกทอรีแคชหลังจากดำเนินการของไปป์ไลน์ |
ProcessCanvasApps | จริง | ส่งออก/ปรับใช้ | หากเป็น เท็จ แอปพื้นที่ทำงานจะไม่ถูกแยกออกระหว่างการส่งออกหรือถูกบรรจุระหว่างการสร้าง หมายเหตุ: ขณะนี้ฟังก์ชันการแยกและแพ็คของผืนผ้าใบอยู่ใน พรีวิว ไม่แนะนำให้ใช้ในสภาพแวดล้อมการทำงานจริงในขณะนี้ อย่างไรก็ตาม คุณไม่สามารถดูโค้ดต้นฉบับในการควบคุมแหล่งที่มาได้ เว้นแต่คุณจะตั้งค่าตัวแปรนี้เป็น จริง |
DisableSolutionChecker | False | ปรับใช้งาน | หากเป็นจริง ตัวตรวจสอบโซลูชันจะไม่ทำงานในทุกบิลด์ที่เริ่มต้นผ่านคำขอดึงข้อมูล |
SkipSolutionImport | False | ปรับใช้งาน | หากเป็นจริง ขั้นตอนการนำเข้าโซลูชันจะถูกข้ามในระหว่างการปรับใช้งาน อย่างไรก็ตาม กิจกรรมอื่นๆ เช่น การเปิดใช้งานโฟลว์และการแชร์ยังคงดำเนินการอยู่ |