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.

  1. 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.
  2. 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.

    Gelen Web kancası hizmet bağlantısı

  3. Adlı yeni bir kaynak türü webhooks YAML 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.

  4. 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.

  1. Ç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.

  2. 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ı sürüm seçici

İş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.

    İşlem hattındaki kaynak tetikleyicisi

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

    İşlem hattı çalıştırmasında tüketilen yapıtlar

  • Her kaynakla ilişkili işlemeler.

    İşlem hattı çalıştırmasında 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.

Ortamda işlemeler

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.

CI ardışık düzeninde CD işlem hatları bilgileri

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.

Gezinmede sorunları tetikleyin ' i seçin.

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ış.

    Tetikleme sorunları tetiklenebilirliği

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.