You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: Add an artifact repository to your lab in Azure DevTest Labs | Microsoft Docs
3
-
description: Learn how to add an artifact repository to your lab in Azure DevTest Labs.
2
+
title: Azure DevTest Labs and DevOps | Microsoft Docs
3
+
description: Learn how to use labs of Azure DevTest Labs within a continuous integration (CI)/ continuous delivery (CD) pipelines in an enterprise environment.
4
4
services: devtest-lab
5
5
documentationcenter: na
6
6
author: spelluru
@@ -12,45 +12,46 @@ ms.workload: na
12
12
ms.tgt_pltfrm: na
13
13
ms.devlang: na
14
14
ms.topic: article
15
-
ms.date: 02/15/2019
15
+
ms.date: 06/10/2019
16
16
ms.author: spelluru
17
17
18
18
---
19
19
20
-
# DevOps and DevTest Labs
21
-
DevOps is a software development methodology that integrates software development (Dev) with operations (Ops) for a system that delivers new features, updates, and fixes in alignment with business goals. This methodology encompasses everything from designing new features based on goals, usage patterns, and customer feedback; to fixing, recovering and hardening the system when issues occur. An easily identified component of this methodology is the CI/CD pipeline, a CI/CD pipeline takes information, code, resources, etc. from a commit through a series of steps including building, testing, and deployment, to produce the system. This topic will focus on different ways to effectively use DevTest Labs within a pipeline in an enterprise environment.
20
+
# Azure DevOps and Azure DevTest Labs
21
+
DevOps is a software development methodology that integrates software development (Dev) with operations (Ops) for a system that delivers new features, updates, and fixes in alignment with business goals. This methodology encompasses everything from designing new features based on goals, usage patterns, and customer feedback; to fixing, recovering and hardening the system when issues occur. An easily identified component of this methodology is the continuous integration (CI)/ continuous delivery (CD) pipeline. A CI/CD pipeline takes information, code, resources, and so on. from a commit through a series of steps including building, testing, and deployment, to produce the system. This article focuses on different ways to effectively use labs within a pipeline in an enterprise environment.
22
22
23
-
##Benefits of using DevTest Labs in DevOps work flow
23
+
##Benefits of using labs in DevOps workflow
24
24
25
25
### Focused access
26
-
Using DevTest Labs as a component allows for easier focusing of a specific ecosystem to a limited group of people. Usually a team or group that is working in a common area or a specific feature will have a DevTest Lab assigned to them.
26
+
Using a lab as a component allows for easier focusing of a specific ecosystem to a limited group of people. Usually, a team or group that is working in a common area or a specific feature will have a lab assigned to them.
27
27
28
-
### Infrastructure replication in the Cloud
29
-
From the developer being able to quickly setup a development ecosystem that includes a dev box with source code and tools to creation of an environment that is nearly identical to the production configuration is beneficial for faster inner loop development.
28
+
### Infrastructure replication in the cloud
29
+
From the developer who can quickly set up a development ecosystem that includes a dev box with source code and tools to creation of an environment that is nearly identical to the production configuration is beneficial for faster inner loop development.
30
30
31
31
### Pre-production
32
-
Having a DevTest Lab in the CI/CD pipeline makes it easier to have multiple different pre-production environments or machines running at the same time for asynchronous testing. Different support infrastructure, like Build Agents, can be deployed and managed within a lab.
32
+
Having a lab in the CI/CD pipeline makes it easier to have multiple different pre-production environments or machines running at the same time for asynchronous testing. Different support infrastructure, like Build Agents, can be deployed and managed within a lab.
33
33
34
-
## DevOps with DevTest Lab
34
+
## DevOps with DevTest Labs
35
35
36
36
### Development / Operation
37
-
A DevTest Lab should be focused on a team that is working in a feature area. This common focus allows for sharing of area-specific resources, like tools, scripts, or Resource Manager templates, and allows faster changes while limiting the negative effects to a smaller group. These shared resources allow the developer to create development VMs with all the necessary code, tools, and configuration either dynamically or have a system that creates base images with the customizations. Not only can the developer create VMs, but they can create DevTest Labs environments based on the necessary templates to create the appropriate Azure resources in the lab. Any changes or destructive work can be done against the lab environment without effecting anyone else. In the case where the product is a standalone system installed on the customer's machine, DevTest Labs has improved VM creation that includes being able to install additional software using artifacts and being able to pre-build customer configurations for quicker inner loop testing of the code.
37
+
A lab should be focused on a team that is working in a feature area. This common focus allows for sharing of area-specific resources, like tools, scripts, or Resource Manager templates, and allows faster changes while limiting the negative effects to a smaller group. These shared resources allow the developer to create development VMs with all the necessary code, tools, and configuration either dynamically or have a system that creates base images with the customizations. Not only can the developer create VMs, but they can create DevTest Labs environments based on the necessary templates to create the appropriate Azure resources in the lab. Any changes or destructive work can be done against the lab environment without effecting anyone else. In the case where the product is a standalone system installed on the customer's machine, DevTest Labs has improved VM creation that includes being able to install additional software using artifacts and being able to pre-build customer configurations for quicker inner loop testing of the code.
38
38
39
39
## CI/CD pipeline
40
-
The CI/CD pipeline is one of the critical components in DevOps, which moves code from the pull request of the developer and integrates it with the existing code and deploys it to the production ecosystem. Not all resources are required to be within a DevTest lab, for example a Jenkins host could be setup outside of DevTest Lab as a more persistent resource. Here are some specific examples of integrating DevTest Labs into the pipeline.
40
+
The CI/CD pipeline is one of the critical components in DevOps that move code from the pull request of the developer and integrates it with the existing code and deploys it to the production ecosystem. Not all resources are required to be within a lab, for example a Jenkins host could be set up outside of lab as a more persistent resource. Here are some specific examples of integrating labs into the pipeline.
41
41
42
42
### Build
43
-
The build pipeline is focused on creating a package of components that will be tested together to be handed off to the release pipeline. DevTest Labs can be part of the build pipeline as the location for build agents and other support resources. Having the ability to dynamically build infrastructure allows for greater control. With the ability to have multiple environments in a DevTest lab each build can be run asynchronously while using the Build Id as part of the environment information to uniquely identify the resources to the specific build.
44
-
In the case of build agents the DevTest lab’s ability to restrict access increases the security and decreases the possibility of accidental corruptions.
43
+
The build pipeline is focused on creating a package of components that will be tested together to be handed off to the release pipeline. Labs can be part of the build pipeline as the location for build agents and other support resources. Having the ability to dynamically build infrastructure allows for greater control. With the ability to have multiple environments in a lab each build can be run asynchronously while using the Build ID as part of the environment information to uniquely identify the resources to the specific build.
44
+
45
+
For build agents, the lab’s ability to restrict access increases the security and decreases the possibility of accidental corruptions.
45
46
46
47
### Test
47
48
DevTest Labs is designed to allow a CI/CD pipeline to automate the ability to create Azure Resource (VMs, environments) which can be used to for automated and manual testing. The virtual machines would be created using artifacts or formulas that use information from the build process to create the different custom configurations necessary for testing.
48
49
49
50
### Release
50
-
DevTest Labs is commonly used for verification in the release section before the code is deployed, similar to the testing in the Build section. Production resource should not be deployed within DevTest Labs.
51
+
DevTest Labs is commonly used for verification in the release section before the code is deployed, similar to the testing in the Build section. Production resources should not be deployed within DevTest Labs.
51
52
52
53
### Customization
53
-
In Azure DevOps there are existing DevTest Lab tasks that allow manipulation of VMs and Environments within specific labs. While Azure DevOps is a one way to manage the CI/CD pipeline, the DevTest Lab can be integrated into any system that supports the ability to call Rest APIs, execute PowerShell scripts, or use Azure CLI.
54
+
In Azure DevOps, there are existing tasks that allow manipulation of VMs and Environments within specific labs. While Azure DevOps is a one way to manage the CI/CD pipeline, the lab can be integrated into any system that supports the ability to call Rest APIs, execute PowerShell scripts, or use Azure CLI.
54
55
55
-
While some CI/CD pipeline manager have existing opensource plugins that have the ability to manage resources within Azure and DevTest labs. Custom scripting will most likely be needed to fit the specific needs of the pipeline. With that in mind, when executing a task, a service principal is used with the appropriate role to gain access to the lab. The service principal will usually need contributor role access to the lab(s). For additional information see “Integrate Azure DevTests Labs into your Azure DevOps continuous integration and delivery pipeline”.
56
+
While some CI/CD pipeline managers have existing open-source plugins that can manage resources within Azure and DevTest Labs. Custom scripting will most likely be needed to fit the specific needs of the pipeline. With that in mind, when executing a task, a service principal is used with the appropriate role to gain access to the lab. The service principal will usually need contributor role access to the lab(s). For more information, see “Integrate Azure DevTests Labs into your Azure DevOps continuous integration and delivery pipeline”.
0 commit comments