diff --git a/.drone.yml b/.drone.yml index 40fce85a..c6de1579 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,7 +1,66 @@ --- kind: pipeline type: docker -name: default +name: build-amd64 + +platform: + os: linux + arch: amd64 + +workspace: + base: /go + path: src/srs.epita.fr/fic-server + +steps: + - name: get deps + image: golang:alpine + commands: + - apk --no-cache add git + - go get -v -d srs.epita.fr/fic-server/admin + - go get -v -d srs.epita.fr/fic-server/backend + - go get -v -d srs.epita.fr/fic-server/frontend + - go get -v -d srs.epita.fr/fic-server/dashboard + - mkdir deploy + + - name: build admin + image: golang:alpine + commands: + - go build -v -o deploy/admin-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/admin + + - name: build backend + image: golang:alpine + commands: + - go build -v -o deploy/backend-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/backend + + - name: build frontend + image: golang:alpine + commands: + - go build -v -o deploy/frontend-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/frontend + + - name: build dashboard + image: golang:alpine + commands: + - go build -v -o deploy/dashboard-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/dashboard + + - name: deploy + image: appleboy/drone-scp + settings: + tar_tmp_path: /tmp/ + host: srs.nemunai.re + target: /var/www/nemunai.re/srs/fic-binaries/${DRONE_BRANCH//\//-} + source: deploy/* + strip_components: 1 + username: + from_secret: ssh_username + key: + from_secret: deploy_key + port: + from_secret: ssh_port + +--- +kind: pipeline +type: docker +name: build-arm64 platform: os: linux @@ -24,7 +83,37 @@ steps: - name: build admin image: golang:alpine commands: - - go build -v -o admin/admin srs.epita.fr/fic-server/admin + - go build -v -o deploy/admin-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/admin + + - name: build backend + image: golang:alpine + commands: + - go build -v -o deploy/backend-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/backend + + - name: build frontend + image: golang:alpine + commands: + - go build -v -o deploy/frontend-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/frontend + + - name: build dashboard + image: golang:alpine + commands: + - go build -v -o deploy/dashboard-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/dashboard + + - name: deploy + image: appleboy/drone-scp + settings: + tar_tmp_path: /tmp/ + host: srs.nemunai.re + target: /var/www/nemunai.re/srs/fic-binaries/${DRONE_BRANCH//\//-} + source: deploy/* + strip_components: 1 + username: + from_secret: ssh_username + key: + from_secret: deploy_key + port: + from_secret: ssh_port - name: docker admin image: plugins/docker @@ -40,11 +129,6 @@ steps: branch: - master - - name: build backend - image: golang:alpine - commands: - - go build -v -o backend/backend srs.epita.fr/fic-server/backend - - name: docker backend image: plugins/docker settings: @@ -59,11 +143,6 @@ steps: branch: - master - - name: build frontend - image: golang:alpine - commands: - - go build -v -o frontend/frontend srs.epita.fr/fic-server/frontend - - name: docker frontend image: plugins/docker settings: @@ -78,11 +157,6 @@ steps: branch: - master - - name: build dashboard - image: golang:alpine - commands: - - go build -v -o dashboard/dashboard srs.epita.fr/fic-server/dashboard - - name: docker dashboard image: plugins/docker settings: