ajustes novos

This commit is contained in:
Marcus 2026-01-31 14:51:24 -03:00
parent 564e0888c6
commit 45d0cc595a

View file

@ -13,73 +13,66 @@ env:
jobs: jobs:
build-and-push: build-and-push:
# AJUSTE: Labels compatíveis com o runner ID 42 (Idle)
runs-on: runs-on:
- self-hosted - self-hosted
- docker - ubuntu-latest
defaults: defaults:
run: run:
shell: sh shell: sh
steps: steps:
- name: Check Docker availability
run: |
docker version
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Check Docker availability
run: docker version
- name: Docker login (Forgejo Registry) - name: Docker login (Forgejo Registry)
run: | run: |
echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} \ echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} \
-u ${{ env.IMAGE_NAMESPACE }} --password-stdin -u ${{ env.IMAGE_NAMESPACE }} --password-stdin
- name: Build Backend - name: Build and Push Backend
run: | run: |
docker build \ docker build \
--build-arg DOCKER_MTU=${{ env.DOCKER_MTU }} \ --build-arg DOCKER_MTU=${{ env.DOCKER_MTU }} \
-t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} \
-t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest \
./backend ./backend
- name: Push Backend
run: |
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest
- name: Build Backoffice - name: Build and Push Backoffice
run: | run: |
docker build \ docker build \
--build-arg DOCKER_MTU=${{ env.DOCKER_MTU }} \ --build-arg DOCKER_MTU=${{ env.DOCKER_MTU }} \
-t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} \
-t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest \
./backoffice ./backoffice
- name: Push Backoffice
run: |
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest
deploy-to-k3s: deploy-to-k3s:
needs: build-and-push needs: build-and-push
# AJUSTE: Labels compatíveis aqui também
runs-on: runs-on:
- self-hosted - self-hosted
- docker - ubuntu-latest
defaults: defaults:
run: run:
shell: sh shell: sh
steps: steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install kubectl - name: Install kubectl
run: | run: |
if ! command -v kubectl >/dev/null 2>&1; then if ! command -v kubectl >/dev/null 2>&1; then
wget -qO /usr/local/bin/kubectl \ wget -qO /usr/local/bin/kubectl https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl
https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl
chmod +x /usr/local/bin/kubectl chmod +x /usr/local/bin/kubectl
fi fi
kubectl version --client
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy to K3s - name: Deploy to K3s
run: | run: |
@ -88,21 +81,24 @@ jobs:
chmod 600 $HOME/.kube/config chmod 600 $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config export KUBECONFIG=$HOME/.kube/config
# Criar namespace se não existir
kubectl create namespace gohorsejobsdev --dry-run=client -o yaml | kubectl apply -f - kubectl create namespace gohorsejobsdev --dry-run=client -o yaml | kubectl apply -f -
kubectl -n gohorsejobsdev delete secret forgejo-registry --ignore-not-found # Atualizar Secrets
kubectl -n gohorsejobsdev create secret docker-registry forgejo-registry \ kubectl -n gohorsejobsdev create secret docker-registry forgejo-registry \
--docker-server=${{ env.REGISTRY }} \ --docker-server=${{ env.REGISTRY }} \
--docker-username=${{ env.IMAGE_NAMESPACE }} \ --docker-username=${{ env.IMAGE_NAMESPACE }} \
--docker-password="${{ secrets.FORGEJO_TOKEN }}" --docker-password="${{ secrets.FORGEJO_TOKEN }}" \
--dry-run=client -o yaml | kubectl apply -f -
kubectl -n gohorsejobsdev delete secret backend-secrets --ignore-not-found
kubectl -n gohorsejobsdev create secret generic backend-secrets \ kubectl -n gohorsejobsdev create secret generic backend-secrets \
--from-literal=MTU="${{ env.DOCKER_MTU }}" \ --from-literal=MTU="${{ env.DOCKER_MTU }}" \
--from-literal=JWT_SECRET="${{ vars.JWT_SECRET }}" \ --from-literal=JWT_SECRET="${{ vars.JWT_SECRET }}" \
--from-literal=AMQP_URL="${{ vars.AMQP_URL }}" \ --from-literal=AMQP_URL="${{ vars.AMQP_URL }}" \
--from-literal=DATABASE_URL="${{ vars.DATABASE_URL }}" --from-literal=DATABASE_URL="${{ vars.DATABASE_URL }}" \
--dry-run=client -o yaml | kubectl apply -f -
# Aplicar manifestos e atualizar imagens
kubectl apply -f k8s/dev/ -n gohorsejobsdev kubectl apply -f k8s/dev/ -n gohorsejobsdev
kubectl -n gohorsejobsdev set image deployment/gohorse-backend-dev \ kubectl -n gohorsejobsdev set image deployment/gohorse-backend-dev \
@ -111,5 +107,5 @@ jobs:
kubectl -n gohorsejobsdev set image deployment/gohorse-backoffice-dev \ kubectl -n gohorsejobsdev set image deployment/gohorse-backoffice-dev \
backoffice=${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} backoffice=${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }}
kubectl -n gohorsejobsdev rollout restart deployment/gohorse-backend-dev kubectl -n gohorsejobsdev rollout status deployment/gohorse-backend-dev
kubectl -n gohorsejobsdev rollout restart deployment/gohorse-backoffice-dev kubectl -n gohorsejobsdev rollout status deployment/gohorse-backoffice-dev