diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 012678b..68a1ef5 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -13,73 +13,66 @@ env: jobs: build-and-push: + # AJUSTE: Labels compatíveis com o runner ID 42 (Idle) runs-on: - self-hosted - - docker + - ubuntu-latest defaults: run: shell: sh steps: - - name: Check Docker availability - run: | - docker version - - name: Checkout code uses: actions/checkout@v4 + - name: Check Docker availability + run: docker version + - name: Docker login (Forgejo Registry) run: | echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} \ -u ${{ env.IMAGE_NAMESPACE }} --password-stdin - - name: Build Backend + - name: Build and Push Backend run: | docker build \ --build-arg DOCKER_MTU=${{ env.DOCKER_MTU }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest \ ./backend - - - name: Push Backend - run: | docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest - - name: Build Backoffice + - name: Build and Push Backoffice run: | docker build \ --build-arg DOCKER_MTU=${{ env.DOCKER_MTU }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} \ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest \ ./backoffice - - - name: Push Backoffice - run: | docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest deploy-to-k3s: needs: build-and-push + # AJUSTE: Labels compatíveis aqui também runs-on: - self-hosted - - docker + - ubuntu-latest defaults: run: shell: sh steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Install kubectl run: | if ! command -v kubectl >/dev/null 2>&1; then - wget -qO /usr/local/bin/kubectl \ - https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl + wget -qO /usr/local/bin/kubectl https://dl.k8s.io/release/v1.30.0/bin/linux/amd64/kubectl chmod +x /usr/local/bin/kubectl fi - kubectl version --client - - - name: Checkout code - uses: actions/checkout@v4 - name: Deploy to K3s run: | @@ -88,21 +81,24 @@ jobs: chmod 600 $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 -n gohorsejobsdev delete secret forgejo-registry --ignore-not-found + # Atualizar Secrets kubectl -n gohorsejobsdev create secret docker-registry forgejo-registry \ --docker-server=${{ env.REGISTRY }} \ --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 \ --from-literal=MTU="${{ env.DOCKER_MTU }}" \ --from-literal=JWT_SECRET="${{ vars.JWT_SECRET }}" \ --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 -n gohorsejobsdev set image deployment/gohorse-backend-dev \ @@ -111,5 +107,5 @@ jobs: kubectl -n gohorsejobsdev set image deployment/gohorse-backoffice-dev \ backoffice=${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} - kubectl -n gohorsejobsdev rollout restart deployment/gohorse-backend-dev - kubectl -n gohorsejobsdev rollout restart deployment/gohorse-backoffice-dev + kubectl -n gohorsejobsdev rollout status deployment/gohorse-backend-dev + kubectl -n gohorsejobsdev rollout status deployment/gohorse-backoffice-dev \ No newline at end of file