75 lines
1.6 KiB
YAML
75 lines
1.6 KiB
YAML
version: 2.1
|
|
executors:
|
|
nodejs:
|
|
docker:
|
|
- image: cimg/node:18.17.1
|
|
golang:
|
|
docker:
|
|
- image: cimg/go:1.20.7
|
|
|
|
jobs:
|
|
|
|
build_controller:
|
|
executor: golang
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Build Controller
|
|
command: |
|
|
cd backend/services/controller && go build -o controller cmd/oktopus/main.go
|
|
|
|
build_mochi:
|
|
executor: golang
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Build Mochi
|
|
command: |
|
|
cd backend/services/mochi/ && go build -o mochi cmd/main.go
|
|
|
|
build_frontend:
|
|
executor: nodejs
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Build Frontend
|
|
command: |
|
|
cd frontend/ && npm i && npm run build
|
|
|
|
deploy_controller:
|
|
machine:
|
|
image: ubuntu-2004:202010-01
|
|
steps:
|
|
- run:
|
|
name: Send Binary to Server
|
|
command: |
|
|
scp backend/services/controller/controller $SSH_USER@$SSH_HOST:/home/$SSH_USER
|
|
ssh $SSH_USER@$SSH_HOST
|
|
- run:
|
|
name: Restart Services
|
|
command: |
|
|
sudo su
|
|
mv controller /usr/bin/
|
|
systemctl restart controller
|
|
workflows:
|
|
build_and_deploy:
|
|
jobs:
|
|
- build_controller:
|
|
filters:
|
|
branches:
|
|
only: dev
|
|
- build_mochi:
|
|
filters:
|
|
branches:
|
|
only: dev
|
|
- build_frontend:
|
|
filters:
|
|
branches:
|
|
only: dev
|
|
- deploy_controller:
|
|
requires:
|
|
- build_controller
|
|
filters:
|
|
branches:
|
|
only: dev
|