Depois que o pipeline é criado e configurado, você pode usá-lo para implantar, configurar e testar completamente um servidor DNS e os registros de host associados.After the pipeline is built and configured, you can use it to fully deploy, configure and test a DNS server and associated host records.Esse processo simula a primeira parte de um pipeline que seria usado em um ambiente de desenvolvimento.This process simulates the first part of a pipeline that would be used in a development environment.

Adicione o código no TFSAdd the code to TFS

Vamos começar criando um repositório Git no TFS e importando o código de seu repositório local no computador cliente.We'll start out by creating a Git repository in TFS, and importing the code from your local repository on the client computer.Se você ainda não clonou o repositório Demo_CI no computador cliente, faça isso agora, executando o seguinte comando git:If you have not already cloned the Demo_CI repository to your client computer, do so now by running the following git command:

Verifique se o Controle de versão é definido como Git.Make sure that Version control is set to Git.

No computador cliente, adicione um remoto no repositório que você acabou de criar no TFS com o seguinte comando:On your client computer, add a remote to the repository you just created in TFS with the following command:

git remote add tfs <YourTFSRepoURL>

Em que <YourTFSRepoURL> é a URL clone para o repositório do TFS que você criou na etapa anterior.Where <YourTFSRepoURL> is the clone URL to the TFS repository you created in the previous step.

Isso localiza todos os nós que foram definidos como tendo uma função de DNSServer nos dados de configuração, que são criados pelo script DevEnv.ps1.This finds any nodes that were defined as having a role of DNSServer in the configuration data, which is created by the DevEnv.ps1 script.

Testes de integraçãoIntegration tests

Os testes de integração testam a configuração do sistema para garantir que quando for integrado com outros componentes, o sistema esteja configurado como esperado.The integration tests test the configuration of the system to ensure that when integrated with other components, the system is configured as expected.Esses testes são executados no nó de destino depois que ele foi configurado com DSC.These tests run on the target node after it has been configured with DSC.O script de teste de integração usa uma combinação da sintaxe Pester e PoshSpec.The integration test script uses a mixture of Pester and PoshSpec syntax.

Esta etapa copia os scripts de build e de teste no diretório de preparo para que eles possam ser publicados como artefatos de build na próxima etapa.This step copies the build and test scripts to the staging directory so that the can be published as build artifacts by the next step.

Selecione Enabled em Opções de controleSelect Enabled in Control Options

Habilitar integração contínuaEnable continuous integration

Agora vamos definir um gatilho que faz com que o projeto seja compilado sempre que uma alteração for verificada na ramificação ci-cd-example do repositório git.Now we'll set up a trigger that causes the project to build any time a change is checked in to the ci-cd-example branch of the git repository.

Criar a definição de versãoCreate the release definition

Vamos criar uma definição de versão para que o projeto seja implantado no ambiente de desenvolvimento com cada verificação de código.Let's create a release definition so that the project is deployed to the development environment with every code check-in.

Para fazer isso, adicione uma nova definição de versão associada à definição de build InfraDNS que você criou anteriormente.To do this, add a new release definition associated with the InfraDNS build definition you created previously.Assegure-se de selecionar Implantação contínua para que uma nova versão seja disparada sempre que um novo build for concluído.Be sure to select Continuous deployment so that a new release will be triggered any time a new build is completed.[How to: Work with release definitions (Instruções: trabalhar com definições de versão)] e configure da seguinte maneira:(How to: Work with release definitions) and configure it as follows:

Adicione as seguintes etapas na definição de versão:Add the following steps to the release definition:

Primeiro publicar resultados de testeFirst Publish Test Results

Selecione NUnit para o campo Formato de resultado do testeSelect NUnit for the Test Result Format field

Defina o campo Arquivos de resultados do teste para $(Build.DefinitionName)\Deploy\InfraDNS\Tests\Results\Integration*.xmlSet the Test Result Files field to $(Build.DefinitionName)\Deploy\InfraDNS\Tests\Results\Integration*.xml

Defina o Título da execução de teste para IntegrationSet the Test Run Title to Integration

Segundo publicar resultados de testeSecond Publish Test Results

Selecione NUnit para o campo Formato de resultado do testeSelect NUnit for the Test Result Format field

Defina o campo Arquivos de resultados do teste para $(Build.DefinitionName)\Deploy\InfraDNS\Tests\Results\Acceptance*.xmlSet the Test Result Files field to $(Build.DefinitionName)\Deploy\InfraDNS\Tests\Results\Acceptance*.xml

Defina o Título da execução de teste para AcceptanceSet the Test Run Title to Acceptance

Você pode verificar o resultado da implantação, abrindo um navegador no computador cliente e navegando para www.contoso.com.You can check the result of the deployment by opening a browser on the client machine and navigating to www.contoso.com.