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.
git clone https://gitlab.c3sl.ufpr.br/ademir/ademir-app.git
cd ademir-app
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/
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/
Para enviar as imagens ao Harbor, é necessário estar autenticado. Solicite um login ao time root.
docker login harbor.c3sl.ufpr.br
docker push harbor.c3sl.ufpr.br/ademir/frontend:latest
docker push harbor.c3sl.ufpr.br/ademir/backend:latest
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
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).