การใช้ตัวแปรในเทมเพลต TFS Build

เราสร้างเทมเพลตบิลด์ที่ยอมรับเส้นทางของชื่อไฟล์ powerscript เป็นอาร์กิวเมนต์ ตอนนี้มันใช้งานได้ถ้าฉันพิมพ์เส้นทางที่แท้จริงของสคริปต์ ฉันต้องการส่ง $(SourceDir) เป็นส่วนหนึ่งของเส้นทาง จากนั้นแทนที่ด้วยค่าจริงระหว่างการสร้าง

ตัวอย่างเช่น: $(SourceDir)\myapp\scripts\scripttorun.ps

นี่คือขั้นตอนที่ฉันได้ทำไปแล้ว:

  • ในเทมเพลต ฉันได้สร้างตัวแปรชื่อ DeploymentScript
  • จากนั้น ConvertWorkspaceItem DeploymentScript -> DeploymentScriptFilename
  • จากนั้นส่ง DeploymentScriptFilename เป็นอาร์กิวเมนต์ไปยัง PowerShell

person Nick    schedule 11.10.2016    source แหล่งที่มา
comment
สวัสดี Nick คุณกำลังพูดถึงงานสร้างที่ใช้ XAML หรือไม่   -  person Angshuman    schedule 12.10.2016


คำตอบ (1)


อาจซ้ำซ้อนกับกรณีนี้ TFS How to GetEnvironmentVariable value คุณไม่สามารถใช้ $TF_BUILD_BUILDDIRECTORY ในกระบวนการสร้างแบบกำหนดเองได้

อ้างถึงย่อหน้าสุดท้ายในเอกสาร MSDN นี้:

ใช้ข้อมูลสภาพแวดล้อมจากกระบวนการสร้างแบบกำหนดเอง

หากคุณจำเป็นต้องใช้ตัวแปรสภาพแวดล้อมในเทมเพลตกระบวนการสร้างแบบกำหนดเอง คุณสามารถใช้กิจกรรม GetEnvironmentVariable เพื่อรับข้อมูลได้ คุณสามารถรับข้อมูลจาก WellKnownEnvironmentVariables ใดก็ได้

ตัวอย่างเช่น หากต้องการรับเส้นทางไปยังไดเรกทอรีไบนารี ให้ตั้งค่าคุณสมบัติ ชื่อ ของกิจกรรม GetEnvironmentVariable เป็น Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownEnvironmentVariables.BinariesDirectory

โปรดดูข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับวิธีการใช้งานจากบล็อกนี้ การใช้ตัวแปรสภาพแวดล้อมใน Visual Studio 2013 และ TFS 2013

person PatrickLu-MSFT    schedule 12.10.2016