Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Hizmetleri
Azure Pipelines'ı kullanarak işlem hattınızın önceki aşamalarından veya başka bir işlem hattından yapıtları indirebilirsiniz. Ayrıca yapıtınızı bir dosya paylaşımında yayımlayabilir veya işlem hattı yapıtı olarak kullanılabilir hale getirebilirsiniz.
Yapıtları yayımlama
Yapıtlarınızı YAML, klasik düzenleyici veya Azure CLI kullanarak yayımlayabilirsiniz:
Not
yayın işlem hatlarında işlem hattı yapıtlarının yayımlanması desteklenmez.
steps:
- publish: $(System.DefaultWorkingDirectory)/bin/WebApp
artifact: WebApp
Not
anahtar publish sözcüğü, İşlem Hattı Yapıtını Yayımla görevi için bir kısayoldur.
Yapıtın adı isteğe bağlı olsa da, yapıtınızın içeriğini doğru yansıtan bir ad belirtmek iyi bir uygulamadır. Yapıtı farklı bir işletim sisteminde çalışan bir işten tüketmeyi planlıyorsanız, tüm dosya yollarının hedef ortam için geçerli olduğundan emin olmanız gerekir. Örneğin, karakteri \ içeren bir dosya adı veya * Windows'a indirilemez.
Yayımlamak istediğiniz dosyanın/klasörün yolu gereklidir. Bu, için mutlak veya göreli bir yol $(System.DefaultWorkingDirectory)olabilir.
Azure Artifacts'teki paketler sabittir. Bir paketi yayımladıktan sonra sürümü kalıcı olarak ayrılmıştır. Paket yayımlandıysa başarısız işler yeniden çalıştırılamaz. Bir hata paketiyle karşılaşılmadan başarısız işleri yeniden çalıştırabilmek istiyorsanız buna yaklaşmanın iyi bir yolu, Koşullar'ı kullanarak yalnızca önceki işin başarılı olması durumunda çalıştırmaktır.
jobs:
- job: Job1
steps:
- script: echo Hello Job1!
- job: Job2
steps:
- script: echo Hello Job2!
dependsOn: Job1
Not
İşlem Hattı Yapıtları ve İşlem Hattı Önbelleğe Alma, depolama faturalamasından muaftır.
Dikkat
İşlem hattı çalıştırmasının silinmesi, bu çalıştırmayla ilişkili tüm Yapıtların silinmesine neden olur.
.artifactignore kullanma
.artifactignore , yapıtları yayımlarken hangi dosyaların yoksayılacağını belirtmek için benzer bir söz dizimi .gitignore kullanır (birkaç sınırlamayla). .artifactignore dosyasının, İşlem Hattı Yapıtlarını Yayımla görevinizin targetPath bağımsız değişkeni tarafından belirtilen dizinde bulunduğundan emin olun.
Not
Artı işareti karakteri + URL yollarında desteklenmez ve Maven gibi paket türleri için bazı derleme meta verileri.
Örnek: .exe dosyalar dışındaki tüm dosyaları yoksayın:
**/*
!*.exe
Önemli
Azure Artifacts, dosyanız olmadığında .git klasör yolunu otomatik olarak yoksayar.artifactignore. Boş bir .artifactignore dosyası oluşturarak bunu atlayabilirsiniz.
Yapıtları indirme
YAPıtları YAML, klasik düzenleyici veya Azure CLI kullanarak indirebilirsiniz.
steps:
- download: current
artifact: WebApp
- current: Geçerli işlem hattı çalıştırması tarafından üretilen yapıtları indirin. Seçenekler: geçerli, belirli.
Not
Yayımlanan yapıtların listesi yalnızca aşağıdaki bağımlı işlerde kullanılabilir. Bu nedenle, yalnızca yayımlama yapıtları görevleri olan işlere bağımlılığı olan ayrı işlerde seçeneğini kullanın current .
İpucu
Kaynaklarınızı tek bir yerde tanımlamak ve işlem hattınızın herhangi bir yerinde kullanmak için İşlem hattı kaynaklarını kullanabilirsiniz.
Not
anahtar download sözcüğü yapıtları indirir. Daha fazla bilgi için bkz . steps.download.
Kuruluşunuzdaki farklı bir projeden işlem hattı yapıtını indirmek için hem aşağı akış projesi hem de yapıtı oluşturan işlem hattı için uygun izinlere sahip olduğunuzdan emin olun. Varsayılan olarak, dosyalar $(Pipeline.Workspace) adresine indirilir. Yapıt adı belirtilmemişse, indirilen her yapıt için bir alt dizin oluşturulur. Hangi dosyaların indirilebileceğini sınırlamak için eşleşen desenleri kullanabilirsiniz. Daha fazla ayrıntı için bkz . Dosya eşleştirme desenleri .
steps:
- download: current
artifact: WebApp
patterns: |
**/*.js
**/*.zip
Yapıt seçimi
Tek bir indirme adımı bir veya daha fazla yapıtı indirebilir. Birden çok yapıt indirmek için yapıt adı alanını boş bırakın ve hangi dosyaların indirileceğini sınırlamak için dosya eşleştirme desenlerini kullanın.
** varsayılan dosya eşleştirme düzenidir (tüm yapıtlardaki tüm dosyalar).
Tek yapıt
Yapıt adı belirtildiğinde:
Yalnızca bu yapıt için dosyalar indirilir. Yapıt yoksa görev başarısız olur.
Dosya eşleştirme desenleri, yapıtın köküne göre değerlendirilir. Örneğin, desen
*.jartüm dosyaları yapıtın kökünde bir.jaruzantıyla eşleştirir.
Aşağıdaki örnekte, bir yapıttan *.jstümünün WebApp nasıl indirilmesi gösterilmektedir:
steps:
- download: current
artifact: WebApp
patterns: '**/*.js'
Birden çok yapıt
Yapıt adı belirtilmediğinde:
Birden çok yapıt indirilebilir ve hiçbir dosya bulunamazsa görev başarısız olmaz.
Her yapıt için bir alt dizin oluşturulur.
Dosya eşleştirme desenleri, desenin ilk kesiminin bir yapıt adı olduğunu (veya eşleşir) varsayması gerekir. Örneğin,
WebApp/**yapıttan tüm dosyaları eşleştirirWebApp. Desen*/*.dll, her yapıtın kökünde bir.dlluzantıya sahip tüm dosyaları eşleştirir.
Aşağıdaki örnekte tüm yapıtlardan tüm .zip dosyaların nasıl indirilme işlemi gösterilmektedir:
steps:
- download: current
patterns: '**/*.zip'
Belirli bir yapıtı indirme
Aşağıdaki örnekte, belirli bir çalıştırma tarafından üretilen belirli bir derleme sürümünden işlem hattı yapıtlarının nasıl indirildiği gösterilmektedir:
resources:
pipelines:
- pipeline: myPipeline
project: 'xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
source: '79'
version: '597'
steps:
- download: myPipeline
artifact: drop
patterns: '**'
displayName: 'Download Pipeline Artifact'
Yayın ve dağıtım işlerindeki yapıtlar
Yapıtlar yalnızca dağıtım işlerinde otomatik olarak indirilir. Varsayılan olarak, yapıtlar öğesine $(Pipeline.Workspace)indirilir. yapıt indirme görevi yalnızca dağıtımınızda yaşam döngüsü kancası deploy kullanılırken otomatik olarak eklenecektir. Yapıtların otomatik olarak indirilmesini durdurmak için bir download adım ekleyin ve değerini yok olarak ayarlayın.
Normal bir derleme işinde step anahtar sözcüğünü veya İşlem Hattı Yapıtını download İndir görevini açıkça kullanmanız gerekir. Diğer kanca türleri hakkında daha fazla bilgi edinmek için bkz. yaşam döngüsü kancaları.
steps:
- download: none
Dağıtımlarda yapıt seçimi
YAPıtları YAML işlem hatlarını kullanarak dağıttığınızda, dağıtım paneli dağıtılacak doğru işlem hattı yapıtını seçmenize yardımcı olur.
Dağıtım panelinde dağıtım için seçtiğiniz işlem hattı yapıtı gösterilir. Ayrıca, dağıtılacak işlem hattı yapıtını belirlemeden önce parametreleri uygulayacak şekilde de yapılandırabilirsiniz. Bu işlem, doğru yapıtın dağıtıldığından size güven verir. Yapıt seçimi aşağıdakileri temel alır:
- En son başarılı çalıştırma (varsayılan olarak)
- Önceki adımda yapılandırdığınız parametreler
- Uyguladığınız dal filtreleri
Belirli bir daldan yapıt dağıtmak istiyorsanız, seçeneklerinizi daraltmak için dağıtım panelindeki dal seçiciyi kullanın. Yalnızca daldan main yapıtları dağıtmak için:
- İşlem hattını çalıştır panelinde İleri: Kaynaklar'ı seçin.
- Dal seçicide hedef dalınızı seçin.
- Kullanılabilir yapıtlar yalnızca seçili daldakileri gösterecek şekilde filtrelenir.
Aşamalar arasında Yapıtları kullanma
İşlem hattınızın farklı aşamalarında yapıtınıza erişebilmek istiyorsanız, artık yapıtınızı tek bir aşamada yayımlayabilir ve ardından bağımlılıkları kullanarak sonraki aşamada indirebilirsiniz. Daha fazla ayrıntı için bkz. Bağımlılıkları hazırlama aşaması.
Örnek
Aşağıdaki örnekte, deponuzdan $(Build.ArtifactStagingDirectory)öğesine bir betik klasörü kopyalayıp yayımlayacaksınız. İkinci aşamada betiğinizi indirip çalıştıracaksınız.
trigger:
- main
stages:
- stage: build
jobs:
- job: run_build
pool:
vmImage: 'windows-latest'
steps:
- task: VSBuild@1
inputs:
solution: '**/*.sln'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
platform: 'Any CPU'
configuration: 'Release'
- task: CopyFiles@2
displayName: 'Copy scripts'
inputs:
contents: 'scripts/**'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- publish: '$(Build.ArtifactStagingDirectory)/scripts'
displayName: 'Publish script'
artifact: drop
- stage: test
dependsOn: build
jobs:
- job: run_test
pool:
vmImage: 'windows-latest'
steps:
- download: current
artifact: drop
- task: PowerShell@2
inputs:
filePath: '$(Pipeline.Workspace)\drop\test.ps1'
Derleme yapıtlarından geçiş
İşlem hattı yapıtları yeni nesil derleme yapıtlarıdır ve yapıtlarla çalışmanın önerilen yoludur. Derleme Yapıtlarını Yayımla görevi kullanılarak yayımlanan yapıtlar, Derleme Yapıtlarını İndir kullanılarak indirilebiliyor ancak bunun yerine en son İşlem Hattı Yapıtını İndir görevini kullanmanızı öneririz.
Derleme yapıtlarından işlem hattı yapıtlarına geçiş yaparken:
Varsayılan olarak, İşlem Hattı Yapıtını İndir görevi dosyaları adresine
$(Pipeline.Workspace)indirir. Bu, tüm yapıt türleri için varsayılan ve önerilen yoldur.Yapıtları İndir görevi için dosya eşleştirme desenlerinin , belirli bir yapıt belirtilip belirtilmediğinden bağımsız olarak yapıt adıyla başlaması (veya eşleşmesi) beklenir. İşlem Hattı Yapıtını İndir görevinde, yapıt adı zaten belirtilmişse desenler yapıt adını içermemelidir. Daha fazla bilgi için bkz . Tek yapıt seçimi.
Örnek
- task: PublishPipelineArtifact@1
displayName: 'Publish pipeline artifact'
inputs:
targetPath: '$(Pipeline.Workspace)'
${{ if eq(variables['Build.SourceBranchName'], 'main') }}:
artifact: 'prod'
${{ else }}:
artifact: 'dev'
publishLocation: 'pipeline'
targetPath: (Gerekli) Yayımlayacak dosyanın veya dizinin yolu. Mutlak veya varsayılan çalışma dizinine göre olabilir. Değişkenleri içerebilir, ancak joker karakterler desteklenmez. Varsayılan: $(Pipeline.Workspace).
publishLocation: (Gerekli) Yapıtlar yayımlama konumu. Yapıtı Azure Pipelines'da depolamayı veya işlem hattı aracısından erişilebilir olması gereken bir dosya paylaşımına kopyalamayı seçin. Seçenekler:
pipeline,filepath. Varsayılan: işlem hattı.artifact: (İsteğe bağlı) Yayımlayacak yapıtın adı. Ayarlanmadıysa, varsayılan olarak işin kapsamı belirlenmiş benzersiz bir kimliktir.
Yayımlanan Yapıtları görüntüleme
İşlem hattı çalıştırmanız tamamlandıktan sonra, yayımlanan yapıtınızı görüntülemek veya indirmek için şu adımları izleyin:
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
İşlem hatları'nı seçin, işlem hattı çalıştırmanızı seçin ve ardından Özet sekmesini seçin.
İlgili bölümde yayımlanan yapıtı seçin.
Yapıtınızı bulmak için bırakma klasörünü genişletin. Ardından Yapıtınızı indirebilir ve içeriğini keşfedebilirsiniz.
Yayımla görevini ekleyin.
İndir görevini ekleyin.