56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
version: '3'
|
|
|
|
vars:
|
|
REMOTE_MACHINE: bl@flo-homeserver
|
|
BINARY_DIR: ./bin
|
|
DEV_BINARY_DIR: ./local
|
|
BINARY: "{{.BINARY_DIR}}/zeitkort-web-poc"
|
|
DEV_BINARY: "{{.DEV_BINARY_DIR}}/"
|
|
|
|
tasks:
|
|
|
|
build:
|
|
desc: runs vet, fmt, and build
|
|
deps: [vet, fmt]
|
|
cmds:
|
|
- rm -rf {{.BINARY_DIR}}/*
|
|
- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o {{.BINARY}} .
|
|
|
|
dev-build:
|
|
desc: runs vet, fmt, and builds dev binary
|
|
deps: [vet, fmt]
|
|
cmds:
|
|
- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o {{.DEV_BINARY}}/zeitkort-web-poc .
|
|
|
|
deploy:
|
|
desc: build, stage binary, and deploy to remote server (preserves config.json)
|
|
deps: [build]
|
|
cmds:
|
|
- ssh {{.REMOTE_MACHINE}} "mkdir -p /tmp/zeitkort-web-poc-deploy"
|
|
- rsync -avz --delete {{.BINARY}} {{.REMOTE_MACHINE}}:/tmp/zeitkort-web-poc-deploy/
|
|
|
|
- ssh -t {{.REMOTE_MACHINE}} "sudo mkdir -p /opt/zeitkort-web-poc && sudo rsync -a /tmp/zeitkort-web-poc-deploy/zeitkort-web-poc /opt/zeitkort-web-poc/zeitkort-web-poc && sudo chown zeitkort-web-poc:zeitkort-web-poc /opt/zeitkort-web-poc/zeitkort-web-poc && sudo systemctl restart zeitkort-web-poc"
|
|
|
|
- ssh {{.REMOTE_MACHINE}} "rm -rf /tmp/zeitkort-web-poc-deploy"
|
|
|
|
dev-start:
|
|
desc: build dev binary, copy assets, and start locally
|
|
dir: "{{ .DEV_BINARY }}"
|
|
cmds:
|
|
- "rm -rf *"
|
|
- go tool task dev-build
|
|
- "cp ../config.json ."
|
|
- "./zeitkort-web-poc -config config.json"
|
|
|
|
vet:
|
|
cmds:
|
|
- go vet ./...
|
|
|
|
fmt:
|
|
cmds:
|
|
- go fmt ./...
|
|
|
|
clean:
|
|
cmds:
|
|
- rm -f {{.BINARY}}
|