YAML'de kaynakları tanımlama
Azure Pipelines
YAML'de kaynaklar işlem hatları, derlemeler, depolar, kapsayıcılar, paketler ve web kancaları kaynaklarını temsil ediyor. Kaynaklar ayrıca sürüm, yapıtlar, ilişkili işlemeler ve iş öğeleri de dahil olmak üzere işlem hattında kullanılan hizmetlerin tam izlenebilirliğini sağlar. Bir kaynağı tanımladığınız zaman, işlem hattınız içinde herhangi bir yerde kullanılabilir. Ayrıca kaynaklarınıza olayları tetiklemek DevOps abone olarak iş akışınızı tam olarak otomatik hale ebilirsiniz.
Daha fazla bilgi için bkz. Kaynaklar hakkında
Şema
resources:
pipelines: [ pipeline ]
builds: [ build ]
repositories: [ repository ]
containers: [ container ]
packages: [ package ]
webhooks: [ webhook ]
Değişkenler
Bir kaynak işlem hattını tetikleyene aşağıdaki değişkenler ayarlanır:
resources.triggeringAlias
resources.triggeringCategory
Bir kaynak işlem hattı çalıştırması tetiklemezse bu değerler boş olur. Bu Build.Reason değerlerin ResourceTrigger ayar için değişkeninin olması gerekir.
Kaynak pipelines tanımlama
Yapıt üreten bir işlem hattınız varsa, bir kaynak tanımlayarak yapıtları pipelines tüketebilirsiniz. pipelinesyalnızca özel kaynaklar için ayrılmış Azure Pipelines. CD iş akışlarınız için bir işlem hattı kaynağında tetikleyiciler de ayarlayın.
Kaynak tanımında, pipeline daha sonra işlem hattı kaynağına başvuru yapmak için kullanabileceğiniz benzersiz bir değerdir. source , yapıt üreten işlem hattının adıdır.
İşlem hatlarını indirmenin alternatif bir yolu için pipeline Artifacts.
resources: # types: pipelines | builds | repositories | containers | packages
pipelines:
- pipeline: string # identifier for the resource used in pipeline resource variables
project: string # project for the source; optional for current project
source: string # name of the pipeline that produces an artifact
version: string # the pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; Used only for manual or scheduled triggers
branch: string # branch to pick the artifact, optional; defaults to all branches; Used only for manual or scheduled triggers
tags: [ string ] # list of tags required on the pipeline to pickup default artifacts, optional; Used only for manual or scheduled triggers
trigger: # triggers aren't enabled by default unless you add trigger section to the resource
branches: # branch conditions to filter the events, optional; Defaults to all branches.
include: [ string ] # branches to consider the trigger events, optional; Defaults to all branches.
exclude: [ string ] # branches to discard the trigger events, optional; Defaults to none.
tags: [ string ] # list of tags to evaluate for trigger event, optional
stages: [ string ] # list of stages to evaluate for trigger event, optional
Önemli
Bir kaynak tetikleyicisi tanımladığınız zaman, işlem hattı kaynağı geçerli işlem hattıyla aynı depodan (örneğin kendi kendine) ise, tetikleyici aynı dalı izler ve olayın tetiklendiğinde işlemeye devam eder. Ancak, işlem hattı kaynağı farklı bir depodansa, geçerli işlem hattı kendi kendine deponun varsayılan dalda tetiklenir.
Yapıt sürümünün değerlendirilmesi
İşlem hattı çalıştırmanıza göre seçim yapılan CI derleme çalıştırması işlem hattı sürümü, işlem hattı çalıştırmanın nasıl tetiklendiğinde denetlener.
İşlem hattı çalıştırmanızı el ile veya zamanlanmış bir tetikleyiciyle oluşturmanız durumunda, CI işlem hattı sürümünü değerlendirmek için varsayılan sürüm, dal ve etiketler kullanılır.
| Sağlanan bilgiler | Sonuç |
|---|---|
| Derleme sürümü # | Bu sürüm çalışır. |
| Dal | Verilen daldan en son sürüm çalışır. |
| Etiketler listesi | Eşleşen tüm etiketlerin çalıştır olduğu en son çalıştırma. |
| Dal ve etiketler listesi | Sağlanan ve eşleşen etiketlerin çalıştır olduğu daldan en son çalıştırma. |
| Nothing | Tüm dallar genelinde en son sürüm çalışır. |
resources:
pipelines:
- pipeline: MyCIAlias
project: Fabrikam
source: Farbrikam-CI
branch: main ### This branch input cannot have wild cards. It is used for evaluating default version when pipeline is triggered manually or scheduled.
tags: ### These tags are used for resolving default version when the pipeline is triggered manually or scheduled
- Production ### Tags are AND'ed
- PreProduction
İşlem hattınız otomatik olarak tetiklenirse, tetikleyici olayına bağlı olarak CI işlem hattı sürümü seçilir. Sağlanan varsayılan sürüm bilgileri ilgisizdir.
| Sağlanan bilgiler | Sonuç |
|---|---|
| Dallar | Dahil edilen dallarla eşleşen bir CI çalıştırması başarıyla tamamlandığında yeni bir işlem hattı tetiklenir. |
| Etiketler | Belirtilen tüm etiketlerle eşleşen bir CI çalıştırması başarıyla tamamlandığında yeni bir işlem hattı tetiklenir. |
| Aşamalar | Bir CI çalıştırması belirtilen tüm aşamaların başarıyla tamamlandıktan sonra yeni bir işlem hattı tetiklenir. |
| Dallar, etiketler ve aşamalar | Ci çalıştırması tüm koşullarla eşlendiğinde yeni bir işlem hattı çalıştırması tetiklenir. |
Sadece trigger: true |
Ci çalıştırması başarıyla tamamlandığında yeni bir işlem hattı çalıştırması tetiklenir. |
| Nothing | Hiçbir işlem hattı çalıştırması tetiklenir. Tetikleyiciler özel olarak etkinleştirmedikçe varsayılan olarak devre dışı bırakılır. |
resources:
pipelines:
- pipeline: SmartHotel
project: DevOpsProject
source: SmartHotel-CI
trigger:
branches:
include:
- releases/*
- main
exclude:
- topic/*
tags:
- Verified
- Signed
stages:
- Production
- PreProduction
download işlem hatları için
Geçerli işlem hattından ve tüm kaynaklardan gelen tüm yapıtlar otomatik olarak indirilir ve pipeline her işin başında kullanılabilir deployment olur. Bu davranışı geçersiz kılabilirsiniz. Daha fazla bilgi için bkz. İşlem hattı Artifacts. Normal 'iş' yapıtları otomatik olarak indirilir. Gerektiğinde download açıkça kullanın.
steps:
- download: [ current | pipeline resource identifier | none ] # disable automatic download if "none"
artifact: string ## artifact name, optional; downloads all the available artifacts if not specified
patterns: string # patterns representing files to include; optional
Artifacts pipeline klasöre $(PIPELINE.WORKSPACE)/<pipeline-identifier>/<artifact-identifier> indirilir.
İşlem hattı kaynak değişkenleri
Her çalıştırmada, bir işlem hattı kaynağının meta verileri önceden tanımlanmış değişkenler şeklinde tüm işler tarafından kullanılabilir. <Alias>, işlem hattı kaynağınız için verdiği tanımlayıcıdır. İşlem hattı kaynakları değişkenleri yalnızca çalışma zamanında kullanılabilir.
resources.pipeline.<Alias>.projectID
resources.pipeline.<Alias>.pipelineName
resources.pipeline.<Alias>.pipelineID
resources.pipeline.<Alias>.runName
resources.pipeline.<Alias>.runID
resources.pipeline.<Alias>.runURI
resources.pipeline.<Alias>.sourceBranch
resources.pipeline.<Alias>.sourceCommit
resources.pipeline.<Alias>.sourceProvider
resources.pipeline.<Alias>.requestedFor
resources.pipeline.<Alias>.requestedForID
Kaynak builds tanımlama
Yapıt üreten bir dış CI derleme sisteminiz varsa, yapıtları bir kaynakla builds kullanabilirsiniz. Kaynak Jenkins, TeamCity, CircleCI gibi herhangi bir dış builds CI sistemi olabilir.
resources: # types: pipelines | builds | repositories | containers | packages
builds:
- build: string # identifier for the build resource
type: string # the type of your build service like Jenkins, circleCI etc.
connection: string # service connection for your build service.
source: string # source definition of the build
version: string # the build number to pick the artifact, defaults to Latest successful build
trigger: boolean # Triggers aren't enabled by default and should be explicitly set
builds genişletilebilir bir kategoridir. Derlemeleri hizmetinizin yapıtlarını tüketmek için bir uzantı yazabilir ve kapsamında yeni bir hizmet türü builds tanıtabilirsiniz. Jenkins, içinde bir kaynak t t builds tür.
Önemli
Tetikleyiciler yalnızca Jenkins sunucusuyla aynı görüş Azure DevOps barındırılan Jenkins için de kullanılabilir.
downloadBuild derlemeler için görev
Görevi kullanarak kaynakta build bulunan yapıtları işlerinizi bir parçası olarak downloadBuild tüketebilirsiniz. Tanımlanan kaynak türüne bağlı olarak, bu görev çalışma zamanında hizmet için karşılık build gelen indirme görevine otomatik olarak çözümlenir.
Artifacts build klasöre $(PIPELINE.WORKSPACE)/<build-identifier>/ indirilir.
Önemli
build kaynak yapıtları işlerinize/deploy-jobs dosyalarınıza otomatik olarak indirilemedi. Yapıtları tüketmek downloadBuild için görevi açıkça eklemeniz gerekir.
- downloadBuild: string # identifier for the resource from which to download artifacts
artifact: string # artifact to download; if left blank, downloads all artifacts associated with the resource provided
patterns: string | [ string ] # a minimatch path or list of [minimatch paths](tasks/file-matching-patterns.md) to download; if blank, the entire artifact is downloaded
Kaynak tanımlama repositories
İşlem hattınızda başka bir depodaki şablonlarvarsa veya bir hizmet bağlantısı gerektiren bir depoyla Çoklu depo teslim alma kullanmak istiyorsanız, sistemin o depo hakkında bilgi sahibi olmasına izin vermelisiniz.
repositoryAnahtar sözcüğü, harici bir depo belirtmenize olanak tanır.
resources:
repositories:
- repository: string # identifier (A-Z, a-z, 0-9, and underscore)
type: enum # see the following "Type" topic
name: string # repository name (format depends on `type`)
ref: string # ref name to use; defaults to 'refs/heads/main'
endpoint: string # name of the service connection to use (for types that aren't Azure Repos)
trigger: # CI trigger for this repository, no CI trigger if skipped (only works for Azure Repos)
branches:
include: [ string ] # branch names which trigger a build
exclude: [ string ] # branch names which won't
tags:
include: [ string ] # tag names which trigger a build
exclude: [ string ] # tag names which won't
paths:
include: [ string ] # file paths which must match to trigger a build
exclude: [ string ] # file paths which won't trigger a build
Tür
Pipelines,,, ve depo türü için aşağıdaki değerleri destekler: git ,, githubgithubenterprise ve bitbucket .
gittür Azure Repos Git depoları ' na başvurur.
| Tür belirtildi | Sonuç | Örnek |
|---|---|---|
type: git |
nameDeğer aynı projedeki başka bir depoya başvurur. |
name: otherRepo Aynı kuruluş içindeki başka bir projedeki bir depoya başvurmak için, adı bu projenin adıyla önek olarak ekleyin. name: OtherProject/otherRepo bunun bir örneğidir. |
type: github |
namedeğer, GitHub deposunun tam adıdır ve kullanıcı veya kuruluşu içerir. |
name: Microsoft/vscode |
type: githubenterprise |
namedeğer, GitHub Enterprise deposunun tam adıdır ve kullanıcı veya kuruluşu içerir. |
name: Microsoft/vscode |
type: bitbucket |
nameDeğer, Bitbucket bulut deposunun tam adıdır ve Kullanıcı veya kuruluşu içerir. |
name: MyBitbucket/vscode |
GitHub Enterprise depoları, yetkilendirme için bir GitHub Enterprise hizmet bağlantısı gerektirir.
Bitbucket bulut depoları, yetkilendirme için bir Bitbucket bulut hizmeti bağlantısı gerektirir.
checkoutDepoyu tüketmek için kullanın
checkoutKaynak kapsamında tanımlanan depoları kullanmak için anahtar sözcüğünü kullanın repository .
Şema
steps:
- checkout: string # identifier for your repository resource
clean: boolean # if true, execute `execute git clean -ffdx && git reset --hard HEAD` before fetching
fetchDepth: number # the depth of commits to ask Git to fetch; defaults to no limit
lfs: boolean # whether to download Git-LFS files; defaults to false
submodules: true | recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules; defaults to not checking out submodules
path: string # path to check out source code, relative to the agent's build directory (e.g. \_work\1); defaults to a directory called `s`
persistCredentials: boolean # if 'true', leave the OAuth token in the Git config after the initial fetch; defaults to false
kaynaktaki Repos, repository işlerinizde otomatik olarak eşitlenmez. checkoutDeponuzlarınızı işlerinizin bir parçası olarak getirmek için kullanın.
Daha fazla bilgi için bkz. işlem hattınızda birden çok depo kullanıma alma.
Kaynak tanımlama containers
Sürekli tümleştirme/sürekli teslim (CI/CD) işlem hattının parçası olarak bir kapsayıcı görüntüsü kullanmanız gerekiyorsa, bunu kullanarak elde edebilirsiniz containers . Bir kapsayıcı kaynağı, genel veya özel bir Docker kayıt defteri veya Azure Container Registry olabilir.
İşlem hattınızdaki bir parçası olarak Docker kayıt defterinden görüntü kullanmanız gerekiyorsa, genel bir kapsayıcı kaynağı tanımlayabilirsiniz ( type anahtar sözcük gerekmez).
resources:
containers:
- container: string # identifier (A-Z, a-z, 0-9, and underscore)
image: string # container image name
options: string # arguments to pass to container at startup
endpoint: string # reference to a service connection for the private registry
env: { string: string } # list of environment variables to add
ports: [ string ] # ports to expose on the container
volumes: [ string ] # volumes to mount on the container
mapDockerSocket: bool # whether to map in the Docker daemon socket; defaults to true
mountReadOnly: # volumes to mount read-only - all default to false
externals: boolean # components required to talk to the agent
tasks: boolean # tasks required by the job
tools: boolean # installable tools like Python and Ruby
work: boolean # the work directory
Bir genel kapsayıcı kaynağını işinizin bir parçası olarak tüketilen bir görüntü olarak veya kapsayıcı işleriiçin de kullanılabilir hale getirebilirsiniz. İşlem hatlarınız bir veya daha fazla hizmetin desteğini gerektiriyorsa, hizmet kapsayıcılarıoluşturup bunları bağlamak isteyeceksiniz. Hizmetler arasında veri paylaşmak için birimleri kullanabilirsiniz.
ACR görüntülerinizi tüketmek için Azure Container Registry (ACR) için birinci sınıf kapsayıcı kaynak türünü kullanabilirsiniz. Bu kaynak türü, işlerinizin bir parçası olarak ve ayrıca otomatik ardışık düzen tetikleyicilerini etkinleştirmek için kullanılabilir.
resources: # types: pipelines | repositories | containers | builds | packages
containers:
- container: string # identifier for the container resource
type: string # type of the registry like ACR, GCR etc.
azureSubscription: string # Azure subscription (ARM service connection) for container registry;
resourceGroup: string # resource group for your ACR
registry: string # registry for container images
repository: string # name of the container image repository in ACR
trigger: # Triggers aren't enabled by default and need to be set explicitly
enabled: boolean # set to 'true' to trigger on all image tags if 'tags' is unset.
tags:
include: [ string ] # image tags to consider the trigger events, optional; defaults to any new tag
exclude: [ string ] # image tags on discard the trigger events, optional; defaults to none
Not
Tüm görüntü etiketleri () için kapsayıcı tetikleyicilerini etkinleştirmek üzere kullanılan sözdizimi, enabled: 'true' diğer kaynak Tetikleyicileri için kullanılan sözdiziminden farklıdır. Belirli bir kaynak için doğru sözdizimini kullanmak üzere dikkat edin.
Kapsayıcı kaynak değişkenleri
Kaynak olarak kapsayıcı tanımladıktan sonra kapsayıcı görüntüsü meta verileri, değişken biçimindeki işlem hattına geçirilir. Görüntü, kayıt defteri ve bağlantı ayrıntıları gibi bilgilere, kapsayıcı dağıtma görevlerinde kullanılacak tüm işler arasında erişilebilir.
resources.container.<Alias>.type
resources.container.<Alias>.registry
resources.container.<Alias>.repository
resources.container.<Alias>.tag
resources.container.<Alias>.digest
resources.container.<Alias>.URI
resources.container.<Alias>.location
Location değişkeni yalnızca ACR kapsayıcı kaynaklarının türü için geçerlidir.
Kaynak tanımlama packages
NuGet ve npm GitHub paketlerini yaml işlem hatları içinde kaynak olarak kullanabilirsiniz.
packagekaynakları belirtirken, paketi NuGet veya npm olarak ayarlayın. Ayrıca, yeni bir paket sürümü yayımlandığında otomatik işlem hattı tetikleyicilerini de etkinleştirebilirsiniz.
GitHub paketlerini kullanmak için, kişisel erişim belirteci (PAT) tabanlı kimlik doğrulaması kullanın ve pats 'leri kullanan bir GitHub hizmet bağlantısı oluşturun.
Varsayılan olarak, paketler işlere otomatik olarak indirilmez. İndirmek için kullanın getPackage .
resources:
packages:
- package: myPackageAlias # alias for the package resource
type: Npm # type of the package NuGet/npm
connection: GitHubConnectionName # Github service connection with the PAT type
name: nugetTest/nodeapp # <Repository>/<Name of the package>
version: 1.0.1 # Version of the packge to consume; Optional; Defaults to latest
trigger: true # To enable automated triggers (true/false); Optional; Defaults to no triggers
Kaynak tanımlama webhooks
Diğer kaynaklarla (işlem hatları, kapsayıcılar, derleme ve paketler gibi), yapıtları kullanabilir ve otomatik Tetikleyicileri etkinleştirebilirsiniz. Ancak, diğer dış olaylara veya hizmetlere bağlı olarak dağıtım işleminizi otomatikleştiregörüntüleyemezsiniz. Kaynak, işlem webhooks hattınızı herhangi bir dış hizmetle tümleştirmenizi ve iş akışını otomatikleştirmenizi sağlar. web kancaları (GitHub, GitHub Enterprise, Nexus, artifactory vb.) aracılığıyla herhangi bir dış olaya abone olabilirsiniz ve işlem hatlarınızı tetikleyebilirsiniz.
Web kancası tetikleyicilerini yapılandırmak için aşağıdaki adımları uygulayın.
Dış hizmetinizde bir Web kancası kurun. Web kancasını oluştururken, aşağıdaki bilgileri sağlamanız gerekir:
- İstek URL 'Si-
https://dev.azure.com/<ADO Organization>/_apis/public/distributedtask/webhooks/<WebHook Name>?api-version=6.0-preview - Gizli-Isteğe bağlı. JSON yükünüzü güvenli hale getirmeniz gerekiyorsa gizli değeri sağlayın.
- İstek URL 'Si-
Yeni bir "gelen Web kancası" hizmet bağlantısı oluşturun. Bu bağlantı, aşağıdaki önemli bilgileri tanımlamanızı sağlayan yeni bir sunulan hizmet bağlantı türüdür:
- Web kancası adı: Web kancasının adı, dış hizmetinizde oluşturulan Web kancasıyla eşleşmelidir.
- Http üstbilgisi -istek doğrulaması IÇIN yükün HMAC-SHA1 karma değerini IÇEREN istekteki http üstbilgisinin adı. örneğin, GitHub için, istek üst bilgisi "X-Hub-Signature" olur.
- Gizli -gizlilik, gelen istek doğrulaması için kullanılan (isteğe bağlı) yükün HMAC-SHA1 karmasını doğrulamak için kullanılır. Web kancasını oluştururken bir gizli dizi kullandıysanız, aynı gizli anahtarı sağlamanız gerekir.

Adlı yeni bir kaynak türü
webhooksYAML işlem hatları içinde tanıtılmıştır. Web kancası olayına abone olmak için, işlem hattınızda bir Web kancası kaynağı tanımlayın ve gelen Web kancası hizmeti bağlantısına işaret edin. Ayrıca, her bir işlem hattının tetikleyicilerini özelleştirmek için Web kancası kaynağında JSON yük verilerine göre daha fazla filtre tanımlayabilirsiniz. Yük verilerini, işlerinizde bulunan değişkenler biçiminde kullanın.Gelen Web kancası hizmeti bağlantısı bir Web kancası olayı aldığında, Web kancası olayına abone olan tüm işlem hatları için yeni bir çalıştırma tetiklenir. Şu biçimi kullanarak işlerinizde JSON yük verilerini kullanabilirsiniz
${{ parameters.<WebhookAlias>.<JSONPath>}}
resources:
webhooks:
- webhook: MyWebhookTriggerAlias ### Webhook alias
connection: IncomingWebhookConnection ### Incoming webhook service connection
filters: ### List of JSON parameters to filter; Parameters are AND'ed
- path: JSONParameterPath ### JSON path in the payload
value: JSONParameterExpectedValue ### Expected value in the path provided
Web kancaları, ilk sınıf kaynakları tarafından desteklenmeyen herhangi bir dış Web kancası olayına bağlı olarak iş akışınızı otomatik hale getirir. İşlem hatları, yapılar, kapsayıcılar ve paketler gibi kaynaklar. ayrıca, Azure DevOps işlemde görünürlük bulunmayan şirket içi hizmetler için, hizmette web kancalarını yapılandırabilir ve işlem hatlarınızı otomatik olarak tetikleyebilirsiniz.
Oluşturma çalıştırma iletişim kutusunda kaynaklar için el ile sürüm seçici
El ile bir CD YAML işlem hattı tetiklemeniz durumunda, belirtilen girişlere göre işlem hattında tanımlanan kaynaklar için varsayılan sürümü otomatik olarak değerlendiririz. Ancak, bir çalıştırma oluşturduğunuzda kaynak sürümü seçicisinden farklı bir sürüm seçmeyi seçebilirsiniz.
Çalıştırma oluştur bölmesinde kaynaklar' ı seçin. Bu işlem hattında tüketilen kaynakların bir listesini görürsünüz.
Bir kaynak seçin ve kullanılabilir sürümler listesinden belirli bir sürümü seçin. Kaynak sürümü seçici, işlem hattı, derleme, depo, kapsayıcı ve paket kaynakları için desteklenir.

İşlem hattı kaynakları için tüm dallardaki tüm kullanılabilir çalıştırmaları görebilirsiniz. İşlem hattı numarasına veya dalına göre arama yapın. Ve başarılı, başarısız veya sürmekte olan bir çalıştırma seçin. Bu esneklik, ihtiyacınız olan tüm yapıtları üretdiğinizden eminseniz CD işlem hattınızı çalıştırmanızı sağlar. CI çalıştırmasındaki ilgisiz bir aşama hatası nedeniyle CI çalıştırmasının tamamlanmasını veya yeniden çalıştırılmasını beklemeniz gerekmez. Ancak, zamanlanmış Tetikleyiciler için varsayılan sürümü değerlendirirken veya el ile sürüm seçici kullanmıyorsanız, yalnızca başarılı bir şekilde tamamlanmış CI çalıştırmasını düşünün.
GitHub paketleri gibi kullanılabilir sürümleri geçiremediğiniz kaynaklar için, sürüm seçicisinin bir parçası olarak bir metin kutusu gösteririz ve bu sayede çalıştırmanın sürümünü seçebilirsiniz.
YAML işlem hattını yetkilendirme
Kaynakların kullanılabilmesi için önce yetkilendirilmiş olmaları gerekir. Kaynak sahibi, bu kaynağa erişebilen kullanıcıları ve işlem hatlarını denetler. İşlem hattının kaynağı kullanma yetkisi olması gerekir. YAML işlem hattını yetkilendirebileceğiniz aşağıdaki yöntemlere bakın.
Kaynağın yönetim deneyimine gidin. Örneğin, değişken grupları ve güvenli dosyalar Pipelinesaltında kitaplık sayfasında yönetilir. aracı havuzları ve hizmet bağlantıları Project ayarlardayönetilir. Burada, bu kaynağa erişim için tüm işlem hatlarını yetkilendirebilirsiniz. Bu yetkilendirme, bir kaynağa erişimi (örneğin, test kaynakları) kısıtlamak zorunda olmadığınız durumlarda kullanışlıdır.
İlk kez bir işlem hattı oluşturduğunuzda, YAML dosyasında başvurulan tüm kaynaklar, söz konusu kaynak için Kullanıcı rolünün üyesiyseniz, ardışık düzen tarafından kullanılmak üzere otomatik olarak yetkilendirilir. Bu nedenle, bir işlem hattı oluştururken YAML dosyasında başvurulan kaynaklar otomatik olarak yetkilendirilir.
YAML dosyasında değişiklikler yaptığınızda ve kaynak eklediğinizde, derleme aşağıdaki hataya benzer bir hata ile başarısız olur:
Could not find a <resource> with name <resource-name>. The <resource> does not exist or has not been authorized for use.Bu durumda, başarısız yapıda kaynakları yetkilendirmek için bir seçenek görürsünüz. Kaynak için Kullanıcı rolünün bir üyesiyseniz, bu seçeneği belirleyebilirsiniz. Kaynaklar yetkilendirildikten sonra yeni bir yapı başlatabilirsiniz.
Projeniz için Aracı havuzu güvenlik rollerinin doğru olduğundan emin olun.
Kaynaklar için onay denetimleri ayarlama
Bir kaynağın onay denetimleri ve şablonlarıyla ne zaman çalışacağını el ile denetleyebilirsiniz. Gerekli şablon onay denetimiile, bir kaynak veya ortam kullanarak herhangi bir işlem hattının de belirli bir YAML şablonundan genişlemesini sağlayabilirsiniz. Gerekli bir şablon onayını ayarlamak güvenliği geliştirir. Kaynağınızın yalnızca bir şablonla belirli koşullar altında kullanıldığından emin olun. Şablonlar ve kaynaklarla işlem hattı güvenliğini geliştirme hakkında daha fazla bilgi edinin.
İzlenebilirlik
İşlem hattı veya dağıtım işi düzeyinde tüketilen tüm kaynaklar için tam izlenebilirlik sağlıyoruz.
İşlem hattı izlenebilirlik
Her işlem hattı çalıştırması için aşağıdaki bilgileri gösteririz.
Bir kaynak tarafından tetikleniyorsa, işlem hattını tetikleyen kaynak.

Kaynak ve tüketilen yapıtlar sürümü.

Her kaynakla ilişkili işlemeler.

Her kaynakla ilişkili iş öğeleri.
Ortam izlenebilirliği
Bir işlem hattı bir ortama dağıttığında, tüketilen kaynakların bir listesini görebilirsiniz. Aşağıdaki görünüm, dağıtım işlerinin ve bunlarla ilişkili yürütmelerin ve iş öğelerinin bir parçası olarak tüketilen kaynakları içerir.

CI işlem hatları 'nda ilişkili CD işlem hatları bilgilerini göster
Uçtan uca izlenebilirlik sağlamak için, bir CI işlem hattı veren hangi CD işlem hattının tükettiğini izleyebilirsiniz. Kaynak aracılığıyla bir CI işlem hattı çalışmasının kullanıldığı CD YAML işlem hatları listesinin çalıştığını görebilirsiniz pipeline . Diğer işlem hatları CI işlem hattınızı kullanıyorsa, Çalıştır görünümünde bir "Ilişkili işlem hatları" sekmesi görürsünüz. Burada, işlem hatlarınızı ve yapılarınızı kullanan tüm işlem hattı çalıştırmalarını bulabilirsiniz.

YAML kaynak tetikleyicisi destek ve izlenebilirlik sorunları
İşlem hattı Tetikleyicileri yürütülemeyebilir kafa karıştırıcı olabilir. İşlem hattı tanım sayfasına tetikleyici sorunlarıolarak adlandırılan yeni bir menü öğesi ekledik, burada tetikleyicilerinin neden yürütülmediğini öğrenebilirsiniz. Bu sayfaya erişmek için işlem hattı geçmişinizi açın. Tetikleyici sorunları yalnızca depo olmayan kaynaklar için kullanılabilir.
Kaynak Tetikleyicileri aşağıdaki nedenlerle yürütülemeyebilir.
Sağlanan hizmet bağlantısının kaynağı geçersizse veya tetikleyicide herhangi bir sözdizimi hatası varsa, tetikleyici yapılandırılmaz ve hata oluşur.
Tetikleyici koşulları eşleşmiyorsa, tetikleyici yürütülmez. Koşulların neden eşleştirilmediğini anlayabilmeniz için bir uyarı ortaya çıkmış.

Sonraki adımlar
SSS
Kısayol yerine neden işlem hatları kullanmalıyım resourcesdownload ?
Kaynak kullanmak pipelines , BIR CI işlem hattından yapıtları kullanmanın ve ayrıca otomatik Tetikleyicileri yapılandırmanın bir yoludur. Bir kaynak, tüketilen sürüm, yapıt, işleme ve iş öğelerini görüntüleyerek işleme tam görünürlük sağlar. Bir işlem hattı kaynağı tanımladığınızda, ilişkili yapıtlar dağıtım işlerinde otomatik olarak indirilir.
Yapıları derleme işlerinde indirmeyi veya ile dağıtım işlerinde indirme davranışını geçersiz kılmayı seçebilirsiniz download . downloadgörev, downloadkullanır.
neden resources indirme işlem hattı Artifacts görevi yerine kullanmalıyım?
indirme işlem hattı Artifacts görevi doğrudan kullandığınızda, izlenebilirlik ve tetikleyicileri kaçırdınız. bazen indirme işlem hattı Artifacts görevi doğrudan kullanmak mantıklı olur. Örneğin, farklı bir şablonda depolanan bir betik göreviniz olabilir ve betik görevi bir derlemeden indirilecek yapıtları gerektirir. Ya da bir şablon kullanan birisinin bir işlem hattı kaynağı eklemek isteyip istemediğini bilmiyor olabilirsiniz. bağımlılıklardan kaçınmak için, tüm yapı bilgilerini bir göreve geçirmek üzere işlem hattını indir Artifacts görevi kullanabilirsiniz.