oktopus/.circleci/config.yml
2023-08-13 15:20:49 -03:00

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