cargo-platform/.woodpecker.yml
teguh nugroho 5cecc9c43c
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
salah nama
2026-08-16 22:55:52 +07:00

31 lines
1.1 KiB
YAML

steps:
- name: build
image: golang:1.25
commands:
- go mod tidy
- CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -o ./server/api/server ./cmd/api/main.go
- name: deploy
image: alpine:latest
when:
- event: [tag, push]
branch: master
environment:
# Nama variabel di container : Nama secret yang disimpan di Woodpecker
SSH_PASS:
from_secret: SSH_PASS
SSH_USER:
from_secret: SSH_USER
SSH_HOST:
from_secret: SSH_HOST
REMOTE_PATH:
from_secret: REMOTE_PATH
CONTAINER_NAME:
from_secret: CONTAINER_NAME
commands:
- export SSHPASS="$SSH_PASS"
- apk update
- apk add --no-cache openssh-client sshpass
- sshpass -e ssh -o StrictHostKeyChecking=no $SSH_USER@$SSH_HOST "rm -rf $REMOTE_PATH/server"
- sshpass -e scp -o StrictHostKeyChecking=no ./server/api/server $SSH_USER@$SSH_HOST:$REMOTE_PATH
- sshpass -e ssh -o StrictHostKeyChecking=no $SSH_USER@$SSH_HOST "echo $SSH_PASS | sudo -S docker restart $CONTAINER_NAME"
- echo "Application successfully deployed."