मेरे पास ASP.Net फ्रेमवर्क (v4.7) वेब एप्लिकेशन है जिसके लिए मेरे पास Azure Devops Server (2019) में एक बिल्ड पाइपलाइन है।

एक विजुअल स्टूडियो बिल्ड कार्य है जो समाधान को ठीक बनाता है और साइट को _PublishedWebsites फ़ोल्डर में प्रकाशित करता है। परेशानी यह है कि रिलीज के लिए वेब.कॉन्फिग ट्रांसफॉर्म लागू नहीं किया गया है और इसमें अभी भी debug="true" सेट है जो कि मैं स्वचालित परिनियोजन के लिए नहीं चाहता हूं।

कार्य के लिए msbuild तर्क हैं: /p:outdir="$(build.artifactstagingdirectory)" और बिल्ड के लिए BuildConfiguration चर release पर सेट है।

जब मैंने विजुअल स्टूडियो का उपयोग करके प्रोजेक्ट प्रकाशित किया है तो web.release.config ट्रांसफॉर्म लागू किया गया है और डीबग विशेषता को प्रकाशित सामग्री में web.config फ़ाइल से हटा दिया गया है।

क्या वहां कुछ ऐसा है, जिसकी कमी मुझे यहां खल रही है?

संपादित करें: पाइपलाइन YAML बनाएँ:

queue:
  name: Default
  demands: 
  - msbuild
  - visualstudio

#Your build pipeline references an undefined variable named ‘Parameters.solution’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
#Your build pipeline references an undefined variable named ‘Parameters.solution’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
#Your build pipeline references the ‘BuildPlatform’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references the ‘BuildPlatform’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references an undefined variable named ‘Parameters.ArtifactName’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
steps:
- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '$(Parameters.solution)'


- task: VSBuild@1
  displayName: 'Build solution'
  inputs:
    solution: '$(Parameters.solution)'

    vsVersion: 16.0

    msbuildArgs: '/p:outdir="$(build.artifactstagingdirectory)"'

    platform: '$(BuildPlatform)'

    configuration: '$(BuildConfiguration)'


- task: VisualStudioTestPlatformInstaller@1
  displayName: 'Visual Studio Test Platform Installer'
  inputs:
    versionSelector: latestStable


- task: VSTest@2
  displayName: 'Test Assemblies'
  inputs:
    testAssemblyVer2: |
     $(build.artifactstagingdirectory)\*test*.dll
     !**\obj\**

    vsTestVersion: toolsInstaller

    platform: '$(BuildPlatform)'

    configuration: '$(BuildConfiguration)'


- task: PublishSymbols@2
  displayName: 'Publish symbols path'
  inputs:
    SearchPattern: '**\bin\**\*.pdb'

    PublishSymbols: false

  continueOnError: true

- script: |
   cd ProjectName.Web.CMS
   copy cmsimport.lic bin /y
  displayName: 'Copy CMSImport licence to bin folder'

- script: |
   ECHO Copying over the umbraco, umbraco_client and CMSImport content for deployment.

   xcopy ProjectName.Web.CMS\packages\UmbracoCms.7.5.14\UmbracoFiles\umbraco $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectName.Web.CMS\umbraco\ /s /e /r /y
   xcopy "ProjectName.Web.CMS\packages\UmbracoCms.7.5.14\UmbracoFiles\umbraco_client" $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectName.Web.CMS\umbraco_client\ /s /e /r /y
   xcopy ProjectName.Web.CMS\packages\CMSImport.3.5\content\umbraco $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectName.Web.CMS\umbraco\ /s /e /r /y
  displayName: 'Copy umbraco related content to staging'
  enabled: false

- script: |
   cd ProjectName.Web.CMS
   move robots_UAT.txt $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectName.Web.CMS\robots.txt
  displayName: 'Add robots.txt file to artifacts staging directory'

- task: ArchiveFiles@2
  displayName: 'Archive  $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectName.Web.CMS\'
  inputs:
    rootFolderOrFile: ' $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectName.Web.CMS\'

    includeRootFolder: false

    archiveFile: '$(Build.ArtifactStagingDirectory)/ProjectName.Web.CMS.zip'


- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)\ProjectName.Web.CMS.zip'

    ArtifactName: '$(Parameters.ArtifactName)'

3
Jason Goodwin 23 जुलाई 2019, 11:12

1 उत्तर

सबसे बढ़िया उत्तर

मैं XDT Transform बिल्ड टास्क में जोड़ने के बाद ट्रांसफ़ॉर्म को लागू करने में कामयाब रहा मेरे Azure DevOps सर्वर बनाने के लिए।

मैंने कुछ पठन किया जो इंगित करता है कि सीआई/सीडी पाइपलाइन के हिस्से के रूप में परिवर्तन एज़ूर ऐप सर्विस परिनियोजन या आईआईएस तैनाती रिलीज कार्यों के हिस्से के रूप में लागू होते हैं और एमएसबिल्ड द्वारा नहीं किए जाते हैं।

यह भी एक दिलचस्प लेख है . दुर्भाग्य से फ़ाइल ट्रांसफ़ॉर्म बिल्ड कार्य पूर्व-रिलीज़ है और यदि आप समय पर Azure DevOps सर्वर का उपयोग कर रहे हैं तो आपको स्रोत से कार्य स्वयं बनाना होगा। मुझे जाना पड़ा लेकिन पैकेज की स्थापना के बाद कार्य जोड़ने के लिए उपलब्ध होने के रूप में नहीं दिख रहा था। XDT Transform कार्य एक अच्छा प्रतिस्थापन था और यह कार्य अच्छी तरह से करता है।

3
Jason Goodwin 24 जुलाई 2019, 17:08