kind: pipeline type: docker name: build-and-push clone: depth: 1 steps: - name: build golang app image: golang:1.24 environment: GOOS: linux GOARCH: amd64 CGO_ENABLED: 0 commands: - | set -e case "$DRONE_BRANCH" in main) echo prod;; uat) echo uat;; dev) echo dev;; *) echo dev;; esac > .environment - echo "Branch ${DRONE_BRANCH}, Environment $(cat .environment)" - APP_VERSION=$(cat .environment)-${DRONE_BUILD_NUMBER} - echo "APP Version tag $APP_VERSION" - echo -n "$APP_VERSION" >> .tags - mkdir -p ./artifacts/go/bin ./artifacts/go/config - go env - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o ./artifacts/go/bin/web ./cmd/web/main.go - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o ./artifacts/go/bin/scraper ./cmd/scraper/main.go - rm -f cmd/worker/workers/scraper.go cmd/worker/workers/scraper_consumer.go cmd/worker/workers/queue_producer.go - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o ./artifacts/go/bin/worker ./cmd/worker/main.go - cp -r ./cmd/web/docs ./artifacts/go/bin/docs - cp -r ./cmd/web/assets ./artifacts/go/bin/assets - ls -ltrh ./artifacts/go/bin/ - name: push web image: plugins/docker settings: registry: git.opplens.se repo: git.opplens.se/mazyar/web username: from_secret: registry_username password: from_secret: registry_password dockerfile: ./cmd/web/Dockerfile - name: push scraper image: plugins/docker settings: registry: git.opplens.se repo: git.opplens.se/mazyar/scraper username: from_secret: registry_username password: from_secret: registry_password dockerfile: ./cmd/scraper/Dockerfile - name: push worker image: plugins/docker settings: registry: git.opplens.se repo: git.opplens.se/mazyar/worker username: from_secret: registry_username password: from_secret: registry_password dockerfile: ./cmd/worker/Dockerfile trigger: branch: - main - uat - dev event: - push