Buildösszetevők közzététele és letöltése
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Feljegyzés
Javasoljuk, hogy a gyorsabb teljesítmény érdekében használja a folyamatösszetevők letöltését és a folyamatösszetevők közzétételét.
Az Azure Artifacts lehetővé teszi a csapatok számára, hogy hírcsatornákat és felsőbb rétegbeli forrásokat használjanak függőségeik kezeléséhez. Az Azure Pipelines használatával különböző típusú összetevőket tehet közzé és tölthet le a CI/CD-munkafolyamat részeként.
Összetevők közzététele
Az összetevők a folyamat bármely szakaszában közzétehetők. A csomagok közzétételéhez használhatja a YAML-t vagy a klasszikus Azure DevOps-szerkesztőt.
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.SourcesDirectory)'
contents: '**/$(BuildConfiguration)/**/?(*.exe|*.dll|*.pdb)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
- pathToPublish: az összetevő elérési útja. Ez lehet abszolút vagy relatív elérési út. A helyettesítő karakterek nem támogatottak.
- artifactName: az összetevő neve.
Feljegyzés
Győződjön meg arról, hogy az összetevő közzétételekor nem használja a fenntartott mappanevek egyikét. További részletekért tekintse meg az Alkalmazásmappák című témakört.
Példa: Több tevékenység használata
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.SourcesDirectory)'
contents: '**/$(BuildConfiguration)/**/?(*.exe|*.dll|*.pdb)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop1
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop2
- pathToPublish: az összetevő elérési útja. Ez lehet abszolút vagy relatív elérési út. A helyettesítő karakterek nem támogatottak.
- artifactName: az összetevő neve.
Példa: Bináris fájlok másolása és közzététele
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.SourcesDirectory)'
contents: '**/$(BuildConfiguration)/**/?(*.exe|*.dll|*.pdb)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
- sourceFolder: a másolni kívánt fájlokat tartalmazó mappa. Ha ezt üresen hagyja, a másolás a $(Build.SourcesDirectory) fájlból történik.
- tartalom: A másolat részeként belefoglalandó fájlelérési utak.
- targetFolder: célmappa.
- pathToPublish: a közzétenni kívánt mappa vagy fájl elérési útja. Lehet abszolút vagy relatív elérési út. A helyettesítő karakterek nem támogatottak.
- artifactName: a létrehozni kívánt összetevő neve.
Feljegyzés
Ügyeljen arra, hogy ne használjon fenntartott nevet az artifactName,például a Bin vagy a App_Data számára. További részletekért lásd ASP.NET webes projektmappa-struktúrát .
Feljegyzés
Build.ArtifactStagingDirectory
az elérési út minden build után törlődik. Ha ezt az elérési utat használja az összetevő közzétételéhez, a közzétételi lépés előtt mindenképpen másolja a könyvtárba a közzétenni kívánt tartalmat.
Összetevők letöltése
- powershell: gci env:* | sort-object name | Format-Table -AutoSize | Out-File $env:BUILD_ARTIFACTSTAGINGDIRECTORY/environment-variables.txt
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.ArtifactsDirectory)'
- buildType: adja meg, hogy mely buildösszetevők töltődnek le:
current
(az alapértelmezett érték) vagy egy adott buildből. - downloadType: válassza ki, hogy egy összetevőt vagy egy adott build összes összetevőét szeretné-e letölteni.
- artifactName: a letöltendő összetevő neve.
- downloadPath: elérési út azon az ügynökgépen, amelyen az összetevők le lesznek töltve.
Feljegyzés
Ha üzembehelyezési feladatot használ, a $(Agent.BuildDirectory) használatával hivatkozhat a buildösszetevőkre. További részletekért tekintse meg az ügynökváltozókat .
Ha a folyamatfuttatás befejeződött, lépjen az Összegzés elemre az összetevő felderítéséhez vagy letöltéséhez.
Adott összetevő letöltése
steps:
- task: DownloadBuildArtifacts@1
displayName: 'Download Build Artifacts'
inputs:
buildType: specific
project: 'xxxxxxxxxx-xxxx-xxxx-xxxxxxxxxxx'
pipeline: 20
buildVersionToDownload: specific
buildId: 128
artifactName: drop
extractTars: false
Tippek
Tiltsa le az alapszintű IIS-hitelesítést, ha az Azure DevOps Servert használja a személyes hozzáférési jogkivonattal történő hitelesítés engedélyezéséhez. További részletekért lásd: IIS Basic Authentication és PATs .
Perjelek használata a fájl elérési útjának argumentumaiban. A fordított perjelek nem működnek a macOS/Linux-ügynökökben.
A buildösszetevők windowsos fájlrendszerben vannak tárolva, ami miatt az összes UNIX-engedély elveszik, beleértve a végrehajtási bitet is. Előfordulhat, hogy az összetevők Azure Pipelinesból való letöltése után vissza kell állítania a megfelelő UNIX-engedélyeket.
Build.ArtifactStagingDirectory
ésBuild.StagingDirectory
felcserélhetők.Build.ArtifactStagingDirectory
az elérési út minden build után törlődik.A fájlmegosztásban közzétett csomagokhoz társított build törlése az adott UNC-elérési út összes összetevőjének törlését eredményezi.
Ha a csomagokat fájlmegosztásban teszi közzé, győződjön meg arról, hogy hozzáférést biztosít a buildügynökhöz.
Győződjön meg arról, hogy engedélyezi az Azure Artifacts-tartomány URL-címeit és IP-címeit , ha a szervezet tűzfalat használ.