wils@web ~ $ cat ~/ajuda/como-automatizar-deploys-com-github-actions-e-docker-no-ubuntu-22-04.md
DevOpsComo automatizar deploys com GitHub Actions e Docker no Ubuntu 22.04
Automatizar o processo de deploy é uma prática essencial para garantir eficiência e consistência nas entregas de software. Neste manual, vamos explorar como utilizar o GitHub Actions e Docker para automatizar o deploy de uma aplicação em um servidor Ubuntu 22.04.
Pré-requisitos
- Conta no GitHub
- Servidor Ubuntu 22.04 com Docker instalado
- Repositório GitHub com sua aplicação
Passo a Passo
1. Instalar o Docker
Primeiro, precisamos garantir que o Docker esteja instalado no seu servidor Ubuntu. Execute os seguintes comandos:
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
2. Criar um Dockerfile
No diretório raiz do seu projeto, crie um arquivo chamado Dockerfile:
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "npm", "start" ]
3. Configurar GitHub Actions
Agora, vamos configurar o GitHub Actions. Crie um diretório chamado .github/workflows no seu repositório e adicione um arquivo chamado deploy.yml:
name: Deploy to Server
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build Docker image
run: |
docker build -t my-app .
- name: Deploy to Server
run: |
ssh user@your-server-ip 'docker pull my-app && docker run -d -p 3000:3000 my-app'
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
4. Configurar Secrets no GitHub
Para que o GitHub Actions possa se conectar ao seu servidor, você precisa adicionar sua chave SSH como um secret no repositório:
- Vá para o seu repositório no GitHub.
- Clique em Settings.
- Selecione Secrets and variables e depois Actions.
- Clique em New repository secret e adicione sua chave SSH com o nome SSH_PRIVATE_KEY.
Conclusão
Agora você tem um pipeline de CI/CD configurado que automatiza o deploy da sua aplicação usando GitHub Actions e Docker. Lembre-se de testar suas configurações e monitorar o desempenho do seu aplicativo após o deploy.
Dica: Sempre faça testes em um ambiente de staging antes de realizar o deploy em produção para evitar surpresas indesejadas.
Precisa de ajuda com isso no seu servidor? A gente resolve pra você.
falar no WhatsApp →// deu erro ou não funcionou?
Achou algo errado neste manual?
Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.