Laboratório de GitHub Actions - Criando Sua Primeira Action
Objetivo
Aprender a criar uma GitHub Action básica que simula deploys para os ambientes dev
, qa
, hml
e prd
.
Passo 1: Configurar o Repositório no GitHub
- Acesse o GitHub e crie um novo repositório chamado
ga-lab-mdc
. - Clone o repositório localmente:
git clone https://github.com/seu-usuario/ga-lab-mdc.git
- Acesse o diretório do repositório:
cd ga-lab-mdc
- Crie o diretório para o workflow do GitHub Actions:
mkdir -p .github/workflows
Passo 2: Criar o Workflow
- Dentro do diretório
.github/workflows
, crie um arquivo chamadoci_cd_pipeline.yml
. - Cole o seguinte conteúdo no arquivo:
name: CI/CD Pipeline
on: push
jobs:
build_dev:
runs-on: ubuntu-latest
env:
ENVIRONMENT: 'dev'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up environment
run: echo "Setting up $ENVIRONMENT environment"
- name: Install dependencies
run: echo "Installing dependencies for $ENVIRONMENT"
- name: Build App
run: echo "Building app for $ENVIRONMENT environment"
- name: Test App
run: echo "Testing app for $ENVIRONMENT environment"
- name: Deploy App
run: echo "Deploying app to $ENVIRONMENT environment"
build_qa:
needs: build_dev
runs-on: ubuntu-latest
env:
ENVIRONMENT: 'qa'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up environment
run: echo "Setting up $ENVIRONMENT environment"
- name: Install dependencies
run: echo "Installing dependencies for $ENVIRONMENT"
- name: Build App
run: echo "Building app for $ENVIRONMENT environment"
- name: Test App
run: echo "Testing app for $ENVIRONMENT environment"
- name: Deploy App
run: echo "Deploying app to $ENVIRONMENT environment"
build_hml:
needs: build_qa
runs-on: ubuntu-latest
env:
ENVIRONMENT: 'hml'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up environment
run: echo "Setting up $ENVIRONMENT environment"
- name: Install dependencies
run: echo "Installing dependencies for $ENVIRONMENT"
- name: Build App
run: echo "Building app for $ENVIRONMENT environment"
- name: Test App
run: echo "Testing app for $ENVIRONMENT environment"
- name: Deploy App
run: echo "Deploying app to $ENVIRONMENT environment"
build_prd:
needs: build_hml
runs-on: ubuntu-latest
env:
ENVIRONMENT: 'prd'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up environment
run: echo "Setting up $ENVIRONMENT environment"
- name: Install dependencies
run: echo "Installing dependencies for $ENVIRONMENT"
- name: Build App
run: echo "Building app for $ENVIRONMENT environment"
- name: Deploy App
run: echo "Deploying app to $ENVIRONMENT environment"
Lembre-se, este é apenas um exemplo básico. Em cenários reais, você usará comandos e scripts personalizados para cada etapa do seu pipeline de CI/CD.