kind: pipeline type: kubernetes name: staging trigger: event: - push # STAGING!!!! steps: - name: build-wasm image: golang:1.17.8-alpine volumes: - name: build-staging path: /drone/src/build environment: APIURL: https://api.quenten.nl/api/testing CGO_ENABLED: 0 commands: - mkdir ./build/web - GOARCH=wasm GOOS=js go build -o ./build/web/app.wasm -ldflags="-X 'main.ApiURL=$APIURL'" ./src - name: build-server image: golang:1.17.8-alpine volumes: - name: build-staging path: /drone/src/build environment: APIURL: https://api.quenten.nl/api/testing CGO_ENABLED: 0 commands: - go build -o ./build/app -ldflags="-X 'main.ApiURL=$APIURL'" ./src - name: build-publish-image image: plugins/docker privileged: true volumes: - name: build-staging path: /drone/src/build settings: cache_from: - "dutchellie/proper-website-2:dev" username: from_secret: docker_username password: from_secret: docker_password dockerfile: Dockerfile repo: dutchellie/proper-website-2 tags: - dev - ${DRONE_COMMIT_SHA:0:8} depends_on: - build-wasm - build-server - name: deploy-staging image: pelotech/drone-helm3 settings: mode: upgrade chart: .drone/helm/chart namespace: drone-staging release: newsite-staging skip_tls_verify: true values_files: - .drone/helm/staging-val.yaml values: - "image=dutchellie/proper-website-2:${DRONE_COMMIT_SHA:0:8}" kube_api_server: from_secret: staging_api_server kube_token: from_secret: staging_kube_token kube_certificate: from_secret: staging_kube_certificate kube_service_account: drone-deploy dry_run: false depends_on: - build-publish-image volumes: - name: build-staging temp: {} --- kind: pipeline type: kubernetes name: production trigger: event: - promote target: - production # PRODUCTION!!!! steps: - name: build-wasm image: golang:1.17.8-alpine volumes: - name: build path: /drone/src/build environment: APIURL: https://api.quenten.nl/api CGO_ENABLED: 0 commands: - mkdir ./build/web - GOARCH=wasm GOOS=js go build -o ./build/web/app.wasm -ldflags="-X 'main.ApiURL=$APIURL'" ./src - name: build-server image: golang:1.17.8-alpine volumes: - name: build path: /drone/src/build environment: APIURL: https://api.quenten.nl/api CGO_ENABLED: 0 commands: - go build -o ./build/app -ldflags="-X 'main.ApiURL=$APIURL'" ./src - name: build-publish-image image: plugins/docker privileged: true volumes: - name: build path: /drone/src/build settings: cache_from: - "dutchellie/proper-website-2:latest" username: from_secret: docker_username password: from_secret: docker_password dockerfile: Dockerfile repo: dutchellie/proper-website-2 tags: - latest - ${DRONE_COMMIT_SHA:0:8} depends_on: - build-wasm - build-server - name: deploy-production image: pelotech/drone-helm3 settings: mode: upgrade chart: .drone/helm/chart namespace: drone-production release: newsite-production skip_tls_verify: true values_files: - .drone/helm/prod-val.yaml values: - "image=dutchellie/proper-website-2:${DRONE_COMMIT_SHA:0:8}" kube_api_server: from_secret: prod_api_server kube_token: from_secret: prod_kube_token kube_certificate: from_secret: prod_kube_certificate kube_service_account: drone-deploy dry_run: false depends_on: - build-publish-image volumes: - name: build temp: {}