diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index daad08d..ce59c82 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -10,25 +10,25 @@ jobs: build: runs-on: [k8s-runner-01] env: - REGISTRY: registry.bigdata.pens.ac.id - IMAGE_NAME: ${{ gitea.repository }}-new - IMAGE_TAG: latest + REGISTRY: registry.staging:5000 + IMAGE_NAME: ${{ gitea.repository }} + IMAGE_TAG: ${{ gitea.sha }} steps: - - name: Checkout code + - name: "Checkout code" uses: actions/checkout@v4 - id: generator - name: Generate Dockerfile & Manifest K8S + name: "Generate Dockerfile & Manifest K8S" uses: ardipc/devops-generator@v1.0.2 with: name: "hello-app" language: "node" - - name: Print Output Docker + - name: "Print Output Docker" id: output run: | - echo "${{ steps.generator.outputs.docker }}" - echo "${{ steps.generator.outputs.k8s }}" + echo "${{ steps.generator.outputs.docker }}" > Dockerfile + echo "${{ steps.generator.outputs.k8s }}" > k8s.yml - name: "Get namespace" run: | @@ -37,27 +37,34 @@ jobs: cat .kube/config kubectl get deployment -n staging - - name: "Checking docker version" - run: docker version - - - name: "Generate Dockerfile" + - name: "Create buildkitd.toml" run: | - curl -o docker.file https://n8n.mceasy.cloud/webhook/generator/dockerfile + cat < buildkitd.toml + [registry."registry.staging:5000"] + http = true + insecure = true + EOF - - name: "Check file" + - name: "Set up Buildx builder" run: | - ls -alth . + BUILDER_NAME="builder-$(date +%s)" + echo "BUILDER_NAME=$BUILDER_NAME" >> $GITEA_ENV + + docker buildx create \ + --use \ + --name $BUILDER_NAME \ + --driver docker-container \ + --config buildkitd.toml - - name: "Show file" + - name: "Build & Push Docker" run: | - cat docker.file + docker buildx build \ + --builder $BUILDER_NAME \ + -t $REGISTRY/$IMAGE_NAME:$IMAGE_TAG \ + --push . - - name: "Prune all necessary image" - run: | - docker image prune -af - - - name: "Build & Push" - run: | - docker buildx build --push -t $REGISTRY/$IMAGE_NAME:$IMAGE_TAG . + - name: "Cleanup builder" + if: always() + run: docker buildx rm $BUILDER_NAME || true \ No newline at end of file