ariste.info
  • MSDyn365 & Azure DevOps ALM
  • Get my book!
  • Services
  • About me
    • About me
    • Events
    • Subscribe
    • Contact
  • Logo
  • LinkedIn

Unified experience ALM

  • Welcome to the new ALM guide
    • Introduction
    • Prerequisites
  • Create and prepare Azure DevOps organization and project
    • Create an Azure DevOps organization
    • Create an Azure DevOps project
    • Enable TFVC projects in Azure DevOps
    • Add CI/CD agents with an Azure subscription
  • Unified development environment
    • What are unified developer environments?
    • Transition to a capacity-based model
    • Deploying a unified developer environment using PowerShell
    • Deploy an UDE environment from PPAC
    • Upgrade version in a Unified Development Environment
    • Useful links
  • Using Visual Studio
    • Connect Visual Studio to your UDE
    • Deploy code to a Unified Development Environment
  • Git basics for the unified experience
    • Add X++ code to a new Git repo
    • Configure your Git repository
  • Pipelines
    • What’s new in the pipelines?
    • YAML Pipelines
    • YAML Structure
    • Understanding YAML triggers
    • Create a YAML build pipeline
    • Create a classic release pipeline
    • Create a YAML Build and Release Pipeline With Stages

Legacy Guide

  • Welcome
    • Welcome!
  • Dynamics 365 for Finance & Operations & Azure DevOps
    • Intro
    • Package and model planning
    • Azure DevOps
    • First steps
    • The build server
    • Visual Studio
    • Some advice
    • Branching strategies
  • Azure Pipelines
    • Builds
    • Continuous integration
    • Gated check-ins
    • Set up the new Azure DevOps tasks for Packaging and Model Versioning
  • Azure hosted build for Dynamics 365 Finance & SCM
    • Intro
    • Azure agents
    • How does it work?
    • What do I need?
    • Azure DevOps artifacts
    • Prepare Azure DevOps
    • Configure pipeline
    • Update for version 10.0.18 and greater
  • Azure DevTest Labs powered builds
    • Intro
    • Azure DevTest Labs
    • Getting and preparing the VHD
    • Create a DevTest Labs account
    • Creating the VM
    • Preparing the VM
    • Create a new image
    • Azure DevOps pipelines
    • Run the build
    • Times
    • Show me the money
    • Some final remarks
  • Add and build .NET projects
    • Intro
    • Build .NET in your pipeline
    • Add a C# project to FnO
    • Build pipelinebui
    • Things I don’t like/understand/need to investigate
  • Release Pipelines
    • Intro
    • Setting up Release Pipeline in Azure DevOps for Dynamics 365 for Finance and Operations
    • AAD app creation
    • Create the release pipeline in DevOps
    • Creating the LCS connection
    • New Azure DevOps release tasks: MSAL authentication and ADAL deprecation
  • Automation
    • Update VMs using pipelines and d365fo.tools
    • Builds
    • Releases
    • But I like to add some human touch to it
    • Extra bonus
    • Update a variable in a release
  • LCS DB API
    • Call the LCS Database Movement API from your Azure DevOps Pipelines
    • Automating Prod to Dev DB copies
    • Restore a data package with Azure DevOps Pipelines
  • Secure your Azure Pipelines with Azure Key Vault
    • Azure Key Vault
    • Securing your Azure DevOps Pipelines
View Categories
  • ariste.info
  • Dynamics 365 F&O Dev ALM guide
  • Unified experience ALM
  • Pipelines
  • Understanding YAML triggers

Understanding YAML triggers

This is an important topic since YAML pipelines don’t have a graphical UI to define triggers and schedules for the pipelines.

All the steps will be done in the trigger section of the YAML file. It defines which branches will automatically run the pipeline when a push (commit or merge) happens.

trigger:
  - main
  - dev

Runs automatically when code is pushed to main or dev.

Specify branches #

You can use include and exclude rules to select which branches trigger a pipeline:

trigger:
  branches:
    include:
      - main
      - releases/*
    exclude:
      - dev/*

The example above will:

  • Includes pushes to main and any branch starting with releases/ (e.g. releases/1.0).
  • Excludes pushes to dev/* branches, even if they match an include pattern.

If you use both include and exclude, the exclude rules take precedence.

Disable All Branch Triggers #

trigger: none

Use this if you want to run the pipeline manually, for example.

Schedules #

With the schedules keyword, you can run your pipeline automatically at specific times (like nightly or weekly builds).

This is what it looks like:

schedules:
  - cron: "0 3 * * 1-5"   # Every weekday at 03:00 UTC
    displayName: Weekday Nightly Build
    branches:
      include:
        - main
    always: true

Now let’s see what the parameters are:

  • cron: Standard cron format (minute hour day month day-of-week), it runs at 03:00 UTC, Monday to Friday. The times are always in UTC. You need to calculate the time depending on your time zone.
  • branches.include: Runs the schedule only for the main branch.
  • always: true: Runs even if there were no new commits since the last run. Use false if you want to only trigger the build when there are code changes.

If you’re not familiar with the cron format, here’s a crontab expression generator. Using ChatGPT/Copilot is quite helpful as well.

Subscribe! #

Receive an email when a new post is published
What are your Feelings

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can I help?

How can I help?

YAML StructureCreate a YAML build pipeline

Write A Comment Cancel Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Table of Contents
  • Specify branches
    • Disable All Branch Triggers
  • Schedules
  • Dynamics 365 Community
  • Subscribe!
  • Microsoft MVP
  • LinkedIn
  • Privacy Policy
  • Contact
  • About me

© 2024 ariste.info. Designed by CazaPelusas.

Top

    Type above and press Enter to search. Press Esc to cancel.