Azure Pipelines
Azure Pipelines offers cloud-hosted pipelines for Linux, macOS, and Windows with 10 free parallel jobs and unlimited minutes for open source projects.
Continuously build, test, and deploy to any platform and cloud
Azure Pipelines run the following steps as part of every deployment:
- Pre-deployment approval: When a new deployment request is triggered, Azure Pipelines check whether a pre-deployment approval is required before deploying a release to a stage. If it is required, it sends out email notifications to the appropriate approvers.
- Queue deployment job: Azure Pipelines schedules the deployment job on an available automation agent. An agent is a piece of software that is capable of running tasks in the deployment.
- Agent selection: An automation agent picks up the job. The agents for release pipelines are exactly the same as those that run your builds in Azure Pipelines and TFS. A release pipeline can contain settings to select an appropriate agent at runtime.
- Download artifacts: The agent downloads all the artifacts specified in that release (provided you have not opted to skip the download). The agent currently understands two types of artifacts: Azure Pipelines artifacts and Jenkins artifacts.
- Run the deployment tasks: The agent then runs all the tasks in the deployment job to deploy the app to the target servers for a stage.
- Generate progress logs: The agent creates detailed logs for each step while running the deployment, and pushes these logs back to Azure Pipelines or TFS.
-
Post-deployment approval: When deployment to a stage is complete, Azure Pipelines checks if there is a post-deployment approval required for that stage. If no approval is required, or upon completion of a required approval, it proceeds to trigger deployment to the next stage.
With Azure Pipelines define build (CI) and release (CD) workflows for apps. These workflows provide a framework for orchestrating and automating your release pipelines. A typical scenario is for CI build pipeline to pull code from version control repository, compile the code, run tests and other analysis processes, and finally publish artifacts, such as files, binaries, and executables. A CD release pipeline is automatically triggered and uses the published artifacts as the deployment payload for testing and production environments. Azure Pipelines allows you to create simple or complex CI/CD pipelines to deploy your apps to a wide range of deployment targets, including a variety of Azure services such as Web servers and databases. You define various stages of a release pipeline such as Dev, QA and Production. It is important to note that build and release pipelines are flexible, and can be define any workflow required with them.