arrow_back

Como criar um pipeline de DevOps

Acesse mais de 700 laboratórios e cursos

Como criar um pipeline de DevOps

Laboratório 2 horas universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

Visão geral

Neste laboratório, você vai criar um pipeline de integração contínua usando o GitHub, o Cloud Build, os gatilhos de build e o Artifact Registry.

Arquitetura de um pipeline de integração contínua

Objetivos

Neste laboratório, você vai aprender a fazer o seguinte:

  • Criar um repositório Git no GitHub
  • Criar um aplicativo Python simples
  • Testar seu aplicativo da Web no Cloud Shell
  • Definir um build do Docker
  • Gerenciar as imagens Docker com o Cloud Build e o Artifact Registry
  • Automatizar os builds com gatilhos
  • Testar suas alterações no build

Pré-requisitos

Se você ainda não tiver uma conta no GitHub, crie uma.

Recomendações

  1. Se você já tiver uma conta, use-a, porque é mais provável que o GitHub bloqueie uma conta nova como spam.
  2. Configure a autenticação de dois fatores na sua conta do GitHub para reduzir as chances de sua conta ser marcada como spam. R

Configurar o ambiente do laboratório

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Tarefa 1: criar um repositório Git

Primeiro, você vai criar um repositório Git usando o GitHub. Esse repositório Git será usado para armazenar seu código-fonte. Depois você vai criar um gatilho de build que inicia um pipeline de integração contínua assim que recebe o código.

  1. Clique em console do Cloud e, na nova guia, escolha Ativar o Cloud Shell (Ícone do Cloud Shell).
  2. Se for solicitado, clique em Continuar.
  3. Execute o comando a seguir para instalar a CLI do GitHub:
curl -sS https://webi.sh/gh | sh
  1. Faça login na CLI do GitHub
gh auth login

Pressione Enter para aceitar as opções padrão. Leia as instruções na ferramenta de CLI para fazer login no site do GitHub.

  1. Confirme que você fez login:
gh api user -q ".login"

Se você tiver feito login, seu nome de usuário do GitHub vai aparecer.

  1. Crie uma variável GITHUB_USERNAME.
GITHUB_USERNAME=$(gh api user -q ".login")
  1. Confirme se você criou a variável de ambiente:
echo ${GITHUB_USERNAME}

Se você tiver criado a variável, seu nome de usuário do GitHub vai aparecer.

  1. Defina suas credenciais globais do Git:
git config --global user.name "${GITHUB_USERNAME}" git config --global user.email "${USER_EMAIL}"

Esse comando cria um usuário do git para seu terminal do Cloud Shell.

  1. Crie um repositório vazio do GitHub chamado devops-repo:
gh repo create devops-repo --private
  1. Digite o comando a seguir no Cloud Shell para criar uma pasta chamada gcp-course:
mkdir gcp-course
  1. Acesse a pasta que você criou:
cd gcp-course
  1. Clone o repositório vazio recém-criado. Se for solicitado, clique em Autorizar:
gh repo clone devops-repo Observação : um aviso vai indicar que você clonou um repositório vazio. Essa mensagem é esperada.
  1. O comando anterior criou uma pasta vazia chamada devops-repo. Mude para esta pasta:
cd devops-repo

Tarefa 2: criar um aplicativo Python simples

É necessário ter um código-fonte para gerenciar. Por isso, você vai criar um aplicativo da Web simples com o Python Flask. Ele será um pouco melhor do que o "Hello World", mas isso é suficiente para testar o pipeline que você vai criar.

  1. No Cloud Shell, clique em Abrir editor (Ícone do editor) para abrir o editor de código.
  2. Selecione a pasta gcp-course > devops-repo na árvore do explorador à esquerda.
  3. Clique em devops-repo.
  4. Clique em Novo arquivo.
  5. Dê ao item o nome main.py e pressione Enter.
  6. Cole este código no arquivo criado:
from flask import Flask, render_template, request app = Flask(__name__) @app.route("/") def main(): model = {"title": "Hello DevOps Fans."} return render_template('index.html', model=model) if __name__ == "__main__": app.run(host='0.0.0.0', port=8080, debug=True, threaded=True)
  1. Para salvar as mudanças, pressione CTRL + S.
  2. Clique na pasta devops-repo.
  3. Clique em Nova pasta.
  4. Dê ao item o nome templates e pressione Enter.
  5. Clique com o botão direito na pasta templates e crie um novo arquivo chamadolayout.html.
  6. Adicione o código abaixo e salve o arquivo novamente:
<!doctype html> <html lang="en"> <head> <title>{{model.title}}</title> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> </head> <body> <div class="container"> {% block content %}{% endblock %} <footer></footer> </div> </body> </html>
  1. Ainda na pasta "templates", adicione outro arquivo novo chamado index.html.

  2. Adicione o código abaixo e salve o arquivo novamente:

{% extends "layout.html" %} {% block content %} <div class="jumbotron"> <div class="container"> <h1>{{model.title}}</h1> </div> </div> {% endblock %}
  1. No Python, os pré-requisitos do aplicativo são gerenciados com o pip. Adicione agora um arquivo que indique os requisitos para esse aplicativo.

  2. Na pasta devops-repo (não na pasta "templates"), crie um Novo Arquivo, adicione o código a seguir ao arquivo e salve-o como requirements.txt:

Flask>=2.0.3
  1. Agora que você tem alguns arquivos, salve todos no repositório. Primeiro você precisa adicionar todos os arquivos que criou ao repositório Git local. Clique em Abrir terminal e, no Cloud Shell, insira o seguinte código:
cd ~/gcp-course/devops-repo git add --all
  1. Para confirmar as alterações no repositório, você precisa se identificar. Digite os comandos abaixo com suas informações (você pode usar seu Gmail ou qualquer outro endereço de e-mail):
git config --global user.email "voce@exemplo.com" git config --global user.name "Seu nome"
  1. Confirme as alterações localmente:
git commit -a -m "Commit inicial"
  1. Você confirmou as alterações localmente, mas não atualizou o repositório Git que criou no Cloud Source Repositories. Insira este comando para enviar as alterações à nuvem:
git push origin main
  1. Atualize a página da Web do GitHub. Você vai encontrar os arquivos que acabou de criar.

Tarefa 3: definir um build do Docker

Para usar o Docker, você precisa criar um arquivo chamado Dockerfile. Esse arquivo define como um contêiner do Docker é construído. Você vai fazer isso agora.

  1. Clique em Abrir editor e expanda a pasta gcp-course/devops-repo. Com a pasta devops-repo selecionada, clique em Novo arquivo e dê a ele o nome de Dockerfile.

O arquivo Dockerfile é usado para definir como o contêiner é criado.

  1. Na parte de cima do arquivo, digite:
FROM python:3.9

Essa é a imagem base. Você pode escolher muitas imagens base. Nesse caso, você está usando uma imagem que já tem o Python instalado.

  1. Digite o seguinte:
WORKDIR /app COPY . .

Essas linhas copiam o código-fonte da pasta atual para a pasta "/app" na imagem do contêiner.

  1. Digite o seguinte:
RUN pip install gunicorn RUN pip install -r requirements.txt

Esse código usa o pip para instalar os requisitos do aplicativo Python em um contêiner. O Gunicorn é um servidor da Web em Python que será usado para executar o app da Web.

  1. Digite o seguinte:
ENV PORT=80 CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app

A variável de ambiente define a porta em que o aplicativo será executado (nesse caso, 80). A última linha executa o app da Web usando o servidor da Web Gunicorn.

  1. Verifique se o arquivo completo é parecido com o trecho abaixo e salve-o:
FROM python:3.9 WORKDIR /app COPY . . RUN pip install gunicorn RUN pip install -r requirements.txt ENV PORT=80 CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app

Tarefa 4: gerenciar as imagens Docker com o Cloud Build e o Artifact Registry

A imagem Docker precisa ser criada e armazenada em algum lugar. Você vai usar o Cloud Build e o Artifact Registry para isso.

  1. Clique em Abrir terminal para retornar ao Cloud Shell. Verifique se você está na pasta certa.
cd ~/gcp-course/devops-repo
  1. A variável de ambiente DEVSHELL_PROJECT_ID do Cloud Shell armazena automaticamente o ID do projeto atual. O ID do projeto é necessário para armazenar as imagens no Artifact Registry. Digite este comando para consultar o ID do seu projeto:
echo $DEVSHELL_PROJECT_ID
  1. Insira o comando abaixo para criar um repositório do Artifact Registry com o nome "devops-demo":
gcloud artifacts repositories create devops-repo \ --repository-format=docker \ --location={{{ project_0.default_region | "REGION" }}}
  1. Configure o Docker para autenticação no repositório do Docker do Artifact Registry usando este comando:
gcloud auth configure-docker {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev
  1. Digite o comando a seguir no Cloud Build para criar a imagem e armazená-la no Artifact Registry:
gcloud builds submit --tag {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/$DEVSHELL_PROJECT_ID/devops-repo/devops-image:v0.1 .

Observe a variável de ambiente no comando. A imagem será armazenada no Artifact Registry.

  1. Na barra de título do console do Google Cloud, digite Artifact Registry no campo Pesquisar e clique em Artifact Registry nos resultados da pesquisa.

  2. Clique no ícone Fixar ao lado de Artifact Registry.

  3. Clique em devops-repo.

  4. Clique em devops-image. Sua imagem deve estar listada.

  5. Na barra de título do console do Google Cloud, digite Cloud Build no campo Pesquisar e clique em Cloud Build nos resultados da pesquisa.

  6. Clique no ícone Fixar ao lado de Cloud Build.

  7. Seu build vai estar listado no histórico.

Agora você vai tentar executar essa imagem em uma máquina virtual do Compute Engine.

  1. No Menu de navegação, clique em Compute Engine > Instâncias de VM.

  2. Clique em Criar instância para criar uma instância de VM.

  3. Na página Criar uma instância, especifique as informações a seguir e mantenha as outras configurações padrão:

Propriedade Valor
SO e armazenamento > Contêiner Clique em IMPLANTAR CONTÊINER
Imagem do contêiner '-docker.pkg.dev//devops-repo/devops-image:v0.1` e clique em "SELECIONAR"
Rede > Firewall Permitir tráfego HTTP
  1. Clique em Criar.

  2. Quando a VM for iniciada, clique no endereço IP externo dela. Uma guia do navegador é aberta e a página mostra a mensagem Hello DevOps Fans.

Observação: após a criação da VM, talvez seja necessário esperar um minuto para o contêiner do Docker ser iniciado.
  1. Salve as alterações no seu repositório Git. No Cloud Shell, digite o comando abaixo para garantir que você está na pasta certa e adicione o novo Dockerfile ao Git:
cd ~/gcp-course/devops-repo git add --all
  1. Confirme as alterações localmente:
git commit -am "Suporte ao Docker adicionado"
  1. Envie as alterações para o Cloud Source Repositories:
git push origin main

Clique em Verificar meu progresso para conferir o objetivo. Gerenciar as imagens Docker com o Cloud Build e o Artifact Registry.

Tarefa 5: automatizar os builds com gatilhos

  1. No menu de navegação, clique em Cloud Build. A página Histórico de builds será aberta, e um ou mais builds devem aparecer.

  2. Clique em Configurações.

  3. No menu suspenso "Conta de serviço", selecione @.iam.gserviceaccount.com

  4. Ative a opção Definir como conta de serviço preferida. Defina o status do serviço Cloud Build como Ativado.

  5. Acesse Gatilhos no menu de navegação à esquerda e clique em Criar gatilho.

  6. Especifique o seguinte:

    Nome: devops-trigger

    Região:

    Em Repositório, clique em Conectar novo repositório.

    • No painel Conectar repositório, selecione GitHub (Aplicativo GitHub do Cloud Build) e clique em "Continuar".
    • Selecione {seu nome de usuário do github}/devops-repo como Repositório, clique em "OK" e selecione {seu nome de usuário do github}/devops-repo (app GitHub).
    • Aceite os Termos e Condições e clique em Conectar

    Ramificação: .*(qualquer ramificação)

    Tipo de configuração: arquivo de configuração do Cloud Build (yaml ou json)

    Local: inline

  7. Clique em Abrir editor, substitua o código pela versão mencionada abaixo e clique em Concluído.

steps: - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', '{{{project_0.default_region|REGION}}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-repo/devops-image:$COMMIT_SHA', '.'] images: - '{{{project_0.default_region|REGION}}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-repo/devops-image:$COMMIT_SHA' options: logging: CLOUD_LOGGING_ONLY
  1. Em Conta de serviço, selecione a opção que começa com o ID do projeto semelhante a (@.iam.gserviceaccount.com) e clique em Criar.

  2. Para testar o gatilho, clique em Executar e depois em Executar gatilho.

  3. Clique no link Histórico para ver um build ser executado. Aguarde a execução do build terminar e clique no link para ver os detalhes.

  4. Role a tela para baixo e veja os registros. A saída do build seria a mesma se ele estivesse sendo executado na sua máquina.

  5. Volte ao serviço do Artifact Registry. Uma nova imagem será mostrada na pasta devops-repo > devops-image.

  6. Volte para o editor de código do Cloud Shell. Encontre o arquivo main.py na pasta gcp-course/devops-repo.

  7. Na função main(), mude a propriedade do título para "Hello Build Trigger", conforme mostrado abaixo:

@app.route("/") def main(): model = {"title": "Hello Build Trigger."} return render_template("index.html", model=model)
  1. Confirme a alteração com este comando:
cd ~/gcp-course/devops-repo git commit -a -m "Testando gatilho do build"
  1. Digite este comando para enviar as alterações ao Cloud Source Repositories:
git push origin main
  1. Volte para o console do Cloud e acesse o serviço Cloud Build. Você verá outro build sendo executado.

Clique em Verificar meu progresso para conferir o objetivo. Automatize os builds com gatilhos.

Tarefa 6: testar suas alterações no build

  1. Quando o build estiver pronto, clique nele para mostrar os detalhes.

  2. Clique em Detalhes da execução,

  3. Clique no Nome da imagem. Isso redireciona você para a página da imagem no Artifact Registry.

  4. Na parte de cima do painel, clique em Copiar caminho ao lado do nome da imagem. Você vai precisar dele nas próximas etapas. O formato será o seguinte.

{{{project_0.default_region | Lab Region }}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-demo/devops-image@sha256:8aede81a8b6ba1a90d4d808f509d05ddbb1cee60a50ebcf0cee46e1df9a54810 Observação: não use o nome da imagem localizado no resumo.
  1. Acesse o serviço Compute Engine. Como você fez antes, crie uma máquina virtual para testar essa imagem. Clique em IMPLANTAR CONTÊINER e cole a imagem que você acabou de copiar.

  2. Selecione Permitir tráfego HTTP.

  3. Depois que a máquina for criada, solicite o endereço IP externo da VM no navegador para testar a alteração. Sua nova mensagem será exibida.

Observação: após a criação da VM, aguarde alguns minutos para o contêiner do Docker ser iniciado.

Clique em Verificar meu progresso para conferir o objetivo. Teste as alterações no build.

Parabéns!

Neste laboratório, você criou um pipeline de integração contínua usando o GitHub, o Cloud Build, os gatilhos de build e o Artifact Registry.

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Copyright 2025 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos podem ser marcas registradas das empresas a que estão associados.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.