Implantação no kubernetes
Implantação da Aplicação ADEMIR
Este guia descreve o processo completo para realizar o deploy da aplicação ADEMIR, incluindo clonagem do repositório, build das imagens Docker, envio ao registry Harbor e atualização do deployment no Kubernetes.
✅ 1. Clonar o Repositório
git clone https://gitlab.c3sl.ufpr.br/ademir/ademir-app.git
cd ademir-app
✅ 2. Gerar as Imagens Docker
Frontend
Containerfile (exemplo):
FROM harbor.c3sl.ufpr.br/ademir/node:21.6.1-bookworm
RUN npm install -g pnpm
WORKDIR /app
COPY package*.json ./
RUN pnpm install
COPY . .
RUN pnpm run build
EXPOSE 3000
CMD ["pnpm", "start"]
Build da imagem:
docker build -f frontend/Dockerfile -t harbor.c3sl.ufpr.br/ademir/frontend:latest frontend/
Backend
Containerfile (exemplo):
FROM harbor.c3sl.ufpr.br/ademir/node:21.6.1-bookworm
RUN apt-get update && apt-get -y install sendmail
COPY msmtprc /etc/msmtprc
RUN chmod 600 /etc/msmtprc
RUN npm install -g pnpm
WORKDIR /app
COPY package*.json ./
RUN pnpm install --strict-peer-dependencies=false
COPY . .
EXPOSE 5000
CMD ["pnpm", "start"]
Build da imagem:
docker build -f backend/Dockerfile -t harbor.c3sl.ufpr.br/ademir/backend:latest backend/
✅ 3. Publicar no Harbor
Login
Para enviar as imagens ao Harbor, é necessário estar autenticado. Solicite um login ao time root.
docker login harbor.c3sl.ufpr.br
Push das Imagens
docker push harbor.c3sl.ufpr.br/ademir/frontend:latest
docker push harbor.c3sl.ufpr.br/ademir/backend:latest
✅ 4. Atualizar o Deployment no Kubernetes
Importante: Apenas o time root possui permissão para realizar o reset dos deployments no cluster Kubernetes.
Solicite ao time root que execute:
kubectl rollout restart deployment/ademir-frontend -n ademir
kubectl rollout restart deployment/ademir-backend -n ademir
E para acompanhar o progresso:
kubectl rollout status deployment/ademir-frontend -n ademir
kubectl rollout status deployment/ademir-backend -n ademir
📅 Conclusão
Após essas etapas, a aplicação ADEMIR estará atualizada e rodando com as novas imagens Docker.
Para quaisquer dúvidas ou erros durante o processo, entre em contato com o time de infraestrutura (root@c3sl.ufpr.br).