Managing Azure DevOps artifacts
Summarize
Summary of Managing Azure DevOps artifacts
DevOps Change Velocity simplifies managing artifacts published from Azure DevOps build pipelines by importing, tracking, and organizing these packages within the ServiceNow environment. It supports multiple artifact sources, including Build Azure Artifacts and Build and Pipeline Artifacts, enabling comprehensive visibility and control over your DevOps artifacts.
Show less
Key Features
- Automatic Artifact Creation: Artifacts published via Azure DevOps tasks Publish Build Artifacts and Publish Pipeline Artifacts are automatically created in DevOps Change Velocity, with historical build artifact data import supported.
- Artifact Repository Naming: Build artifacts are stored in repositories named after their build pipelines, aiding easy identification and management.
- Handling Multiple Artifact Versions: When multiple versions of the same artifact act as release triggers, related DevOps data (work items, commits, test summaries) from all versions are aggregated, which supports rollback and version tracking scenarios.
- Azure Artifacts Support: Universal Packages published to Azure Artifacts can be imported and tracked, with feed connection aliases auto-populated for streamlined configuration.
- Integration and Configuration: Artifact repositories can be discovered and added via App Onboarding, with tracking enabled by setting the Track column to True. The system supports project-specific feeds but not organization-level feeds.
- Scheduled Artifact Association: Artifact information is linked to build pipelines using a daily scheduled job, which can run on-demand but should not be executed frequently due to performance considerations.
- Extension-Based Registration: Existing ServiceNow Azure DevOps extensions remain supported but are not required if using the PublishBuildArtifacts and PublishPipelineArtifacts tasks.
Practical Considerations and Limitations
- Artifacts cannot be published from Release Pipelines due to Azure DevOps limitations.
- Only Azure DevOps artifacts published through build or release pipelines are supported; orphan artifacts not linked to pipelines are not supported.
- Artifacts are stored with naming conventions reflecting their linkage to build or release pipelines for clarity in versioning.
- Support limits include up to 4000 project feeds, 800 packages/artifacts per feed, and 200 packages/artifacts per pipeline.
- Real-time tracking requires enabling the Track flag for each artifact repository; otherwise, artifacts won’t be monitored.
- The scheduled job associates Azure Artifacts with build pipelines within 24 hours, and artifact triggers may fire even if the build pipeline is incomplete.
Artifact Mapping
Azure DevOps artifacts are mapped into ServiceNow DevOps Change Velocity as follows:
- Feeds map to artifact repositories.
- Packages and Artifacts correspond to artifacts tracked in the ServiceNow system.
- Provenance and Build Numbers are maintained as versions to track artifact lineage.
This mapping ensures consistent visibility into the lifecycle and versions of artifacts published via Azure DevOps pipelines.
DevOps Change Velocity makes it easy to manage artifacts published through Azure DevOps build pipelines. You can import and track these artifacts and manage the packages in DevOps Change Velocity.
- Build
- Azure Artifacts
Build Artifacts
Build and pipeline artifacts published using the Publish Build Artifacts (PublishBuildArtifacts) and Publish Pipeline Artifacts (PublishPipelineArtifacts) tasks respectively on the Azure DevOps are automatically created in your DevOps Change Velocity instance. You can also import historical data for build artifacts.
Build artifacts created using the Publish Build Artifacts task will be part of the artifact repository whose name will be defaulted to the build pipeline name.
Azure Artifacts
You can import and track the artifacts to your DevOps Change Velocity instance. You can import Azure DevOps artifacts that are published to the Azure Artifacts using the Universal Package task only.
(DevOps 1.35 and later versions) The Feed connection alias field is available on the Azure DevOps Tools form. This field is auto-populated with an alias for the feed connection. For more information about connecting a DevOps tool, see Integrating DevOps Change Velocity with third party tools.
After upgrade, to select and add the artifact repositories using App Onboarding, you must select Discover to discover existing artifact repositories. The records are added to the Artifact Repositories related list. For more information about the adding artifact repositories, see Associate tool objects to applications - Workspace.
For tracking the artifact repositories, change the value of the Track
column to True (default value, False).
- As Azure DevOps Artifact creation is not dependent on Build Pipeline completion. If Azure DevOps Artifact is used as Trigger for a Release Pipeline, it would be triggered even if Build pipeline is pending completion due to a change request.
- The scheduled job is executed every 24 hours by default and can also be executed on-demand. However, as the scheduled job is performance intensive, it shouldn’t be executed frequently.
The following points must be considered while importing Azure DevOps artifacts:
- Artifacts can’t be published from the Release Pipelines due to Azure DevOps limitations.
- Artifact Repositories are tracked as follows:
- Historical Import of Azure DevOps artifacts is accomplished using the App Onboarding. For more information, see Associate tool objects to applications - Workspace.
- For real-time tracking of the artifacts, the value for the Track column must be changed to True (default value, False). Otherwise, the Feed or Artifact Repository won’t be tracked.
- The application supports the project-specific feeds but not the Organization specific feeds. Azure DevOps artifacts when published through Azure DevOps pipeline are only supported.
- Azure DevOps artifacts not linked to any build or release pipeline (orphan artifacts) aren’t supported.
- Azure DevOps Artifacts are stored in the following format:
- Azure DevOps artifact linked to only Build Pipeline (or) Build and Release
Pipeline:
<artifact-name>-<1.build-number.0> (Build Number of Build Pipeline)
- Azure DevOps artifact linked only to Release
Pipeline:
<artifact-name>-<1.build-number.0> (Build Number of Release Pipeline)
- Azure DevOps artifact linked to only Build Pipeline (or) Build and Release
Pipeline:
Azure DevOps Artifact mapping with DevOps Change Velocity
| Azure DevOps Artifact | DevOps Change Velocity |
|---|---|
| Feeds | Artifact Repositories |
| Packages | Artifacts |
| Provenance/build number | Versions |
Limitations
- Azure DevOps Artifact Project with 4000 Feeds (or less) is supported.
- Azure DevOps artifact Feed with 800 packages or artifacts (or less) is supported.
- Azure DevOps pipeline with 200 packages or artifacts (or less) publishing is supported.