a visualization of one or more work schedules. It’s intended to provide teams and managemetn an overall view of what each team is planning to produce and when. It allows decisions to be made that optimize the investments across the organization.
Azure Artifacts is a repository in your Azure DevOps organization where you can manage the dependencies for your codebase. Azure Artifacts can store your artifacts and your binaries. It provides a container, called a feed, for groups of dependencies. Developers who have access to the feed can easily consume or publish packages.
Azure Artifacts associates a quality level with each package in its feeds and distinguishing between prerelease and release versions. Azure Artifacts offers different views on the list of packages and their versions, which separate them based on their quality level. This approach works well with semantic versioning, which is useful for predicting the intent of a particular version. Azure Artifacts also uses a descriptor to include additional metadata from the Azure Artifacts feed. A common use for views is to share package versions that have been tested, validated, or deployed but hold back packages still under development and not ready for public consumption.
Feeds in Azure Artifacts have three different views by default. These views are added at the moment a new feed is created. The three views are:
A stage is a part of the pipeline that can run independently and be triggered by different mechanisms.
An artifact is deployed to an environment. Azure Pipelines makes it easy to deploy to almost any kind of environment, whether it’s on-premises or in the cloud.
In Azure Pipelines, the term environment has a second meaning. Here, an environment is an abstract representation of your deployment environment, such as a Kubernetes cluster, an App Service instance, or a virtual machine.
An Azure Pipelines environment records the deployment history to help you identify the source of changes. By using Azure Pipelines environments, you can also define security checks and ways to control how an artifact is promoted from one stage of a pipeline to another. What an environment includes depends on what you want to do with the artifact. An environment where you want to test the artifact will probably be defined differently than one where you want to deploy the artifact for your end users.
One way to define an Azure Pipelines environment is with a YAML file. Your YAML file includes an environment section, which specifies the Azure Pipelines environment, where you’ll deploy your artifact.
A job is a series of steps, or tasks, that run sequentially as a unit. Every pipeline stage has one job by default, even when that stage doesn’t use the job keyword.
A job can run in an agent pool, on a container, or directly on the Azure DevOps server. The example job shown here runs on a Microsoft-hosted Ubuntu agent.
You can specify the conditions under which each job runs. The example job shown here doesn’t define any conditions. By default, a job runs if it doesn’t depend on any other job, or if all of the jobs that it does depend on have finished successfully.
You can also run jobs in parallel or sequentially. Using your existing build pipeline as an example, you can use parallel jobs to build your software on Windows, Linux, and macOS agents simultaneously.
A deployment job is a special type of job that plays an important role in your deployment stages. Deployment jobs record the status of your deployments in Azure Pipelines, providing you with an audit trail. Deployment jobs also help you define your deployment strategy, which we’ll do shortly.
you promote changes from one stage to the next. Within each stage, you deploy the Space Game website to the environment associated with that stage.