Deploy Automático com GitHub Actions
Aprenda a configurar deploy automático na Zenifra usando GitHub Actions. CI/CD completo com atualizações automáticas.
Primeiro Passo
Para atualizar automaticamente o código do seu projeto na Zenifra utilizando GitHub Actions, é necessário ter um repositório Git configurado com o código-fonte da sua aplicação.
Essa funcionalidade permite que a imagem OCI seja construída e enviada para a Zenifra automaticamente, sempre que houver uma nova alteração no repositório, através de um workflow.
Para isso, será utilizada a action ramonpaolo/action-zenifra, que é responsável por integrar o processo de build e deploy automático com a plataforma Zenifra.
Segundo Passo
Para configurar a atualização automática, siga os passos abaixo:
Configuração do Workflow
Você precisará criar um arquivo de workflow no diretório .github/workflows/ do seu repositório Git.
Exemplo de workflow completo com a action ramonpaolo/action-zenifra:
name: Deploy PRD
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
build: # Job para fazer a build e publicar a imagem no Docker Hub
name: build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to OCI Registry
uses: docker/login-action@v2
with:
username: ${{ secrets.OCI_USERNAME }}
password: ${{ secrets.OCI_PASSWORD }}
- name: Build and Publish OCI Image
run: buildx build -t <username>/<name_image>:<tag> --platform=linux/amd64 --push .
deploy: # Job para fazer deploy da imagem na Zenifra
needs: build
name: deploy
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@main
- name: Deploy Image to Zenifra
uses: ramonpaolo/action-zenifra@main
with:
PROJECT_ID: <project_id> # ${{ secrets.ZENIFRA_PROJECT_ID }}
API_KEY: <api_key> # ${{ secrets.ZENIFRA_API_KEY }}
IMAGE: <username>/<name_image>:<tag> # <username>/<name_image>:${{ github.ref_name }}⚠️ Importante: Substitua
project-idpelo ID do projeto,API_KEYpela API KEY do projeto,imagepela URL completa da imagem do projeto.
Detalhes das Configurações
PROJECT_ID: ID do projeto na Zenifra. Deve ser armazenado como um segredo no seu repositório.API_KEY: API KEY do projeto na Zenifra. Deve ser armazenado como um segredo no seu repositório.IMAGE: URI imagem no padrão OCI a ser enviada, incluindo o registry e a tag.
Terceiro Passo
Após criar e fazer commit do arquivo de workflow, toda vez que houver criação de tag no formato vX.X.X (ex: v1.X.X), o GitHub Actions irá:
- Fazer o checkout do código;
- Construir a imagem no padrão OCI usando ferramentas de build;
- Enviar a imagem atualizada para a Zenifra, utilizando a action
ramonpaolo/action-zenifra.
Isso garante que o projeto sempre esteja com a versão mais recente da sua aplicação, sem necessidade de intervenção manual.
Finalizando
Com esse fluxo configurado, sua aplicação será sempre atualizada conforme as alterações feitas no repositório Git, mantendo o projeto sempre atualizado com a última versão do código.
Se você desejar personalizar ainda mais o workflow, pode adicionar etapas como testes automatizados, validações, ou até mesmo envio para múltiplos ambientes.
Como Criar Projeto na Zenifra via Console
Aprenda como criar seu primeiro projeto na plataforma Zenifra. Tutorial completo com console, planos, configurações e deploy na cloud.
Como Alterar Configurações do Projeto
Aprenda como alterar as configurações do seu projeto na Zenifra via console. Nome, descrição, imagem, ENVs, instâncias e muito mais.