scripts/
static/
templates/
.gitignore
30 B
.gitsigners
112 B
AGENTS.md
7.5 KiB
LICENSE
89 B
README.md
1.9 KiB
deploy
723 B
discuss.go
16.7 KiB
git.go
3.5 KiB
git_cli.go
16.0 KiB
git_http.go
1.9 KiB
go.mod
572 B
go.sum
1.9 KiB
handler.go
11.3 KiB
handler_test.go
69.0 KiB
main.go
5.2 KiB
template.go
8.9 KiB
watch
272 B
deploy
raw
| 1 | #!/bin/sh |
| 2 | # |
| 3 | # Build and deploy 'forge' to a remote server. |
| 4 | # |
| 5 | # Usage: ./deploy <host> |
| 6 | # |
| 7 | # Builds a Linux/amd64 binary, copies it to the remote host, |
| 8 | # moves it to /usr/local/bin/forge, and restarts the systemd service. |
| 9 | # |
| 10 | set -eu |
| 11 | |
| 12 | if [ $# -lt 1 ]; then |
| 13 | echo "Usage: $0 <host>" >&2 |
| 14 | exit 1 |
| 15 | fi |
| 16 | |
| 17 | HOST="$1" |
| 18 | BINARY="forge" |
| 19 | REMOTE_PATH="/usr/local/bin/$BINARY" |
| 20 | SERVICE="forge" |
| 21 | |
| 22 | echo "Building $BINARY..." |
| 23 | GOOS=linux GOARCH=amd64 go build -o "bin/$BINARY" . |
| 24 | |
| 25 | echo "Uploading to $HOST..." |
| 26 | scp -O "bin/$BINARY" "$USER@$HOST:/tmp/$BINARY" |
| 27 | |
| 28 | echo "Installing and restarting service..." |
| 29 | ssh "$USER@$HOST" " |
| 30 | sudo mv /tmp/$BINARY $REMOTE_PATH && |
| 31 | sudo chmod 755 $REMOTE_PATH && |
| 32 | sudo systemctl restart $SERVICE |
| 33 | " |
| 34 | echo "Done." |