File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed
Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Deploy server
2+ on :
3+ push :
4+ branches : [main]
5+
6+ jobs :
7+ deploy :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - uses : actions/checkout@v4
11+ - uses : actions/setup-go@v5
12+ with : { go-version: '1.22' }
13+ - run : |
14+ mkdir -p dist
15+ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o dist/server ./cmd/server
16+
17+ - name : Upload & restart
18+ env :
19+ SSH_HOST : ${{ secrets.SERVER_HOST }} # IP сервера
20+ SSH_USER : ${{ secrets.SERVER_USER }} # ak
21+ SSH_KEY : ${{ secrets.SERVER_SSH_KEY }}# приватный ed25519
22+ DEST : /opt/adv-keeper
23+ run : |
24+ sudo apt-get update && sudo apt-get install -y rsync
25+ mkdir -p ~/.ssh
26+ echo "$SSH_KEY" > ~/.ssh/id_ed25519 && chmod 600 ~/.ssh/id_ed25519
27+ ssh-keyscan -H "$SSH_HOST" >> ~/.ssh/known_hosts
28+
29+ ts=$(date +%Y%m%d%H%M%S)
30+ rsync -e "ssh -i ~/.ssh/id_ed25519" -avz dist/server "$SSH_USER@$SSH_HOST:$DEST/releases/server-$ts"
31+ ssh -i ~/.ssh/id_ed25519 "$SSH_USER@$SSH_HOST" bash -lc "
32+ set -e
33+ ln -sfn '$DEST/releases/server-$ts' '$DEST/current'
34+ sudo systemctl restart adv-keeper
35+ sudo systemctl --no-pager --full status adv-keeper || true
36+ cd '$DEST/releases' && ls -t | tail -n +6 | xargs -r rm -f
37+ "
You can’t perform that action at this time.
0 commit comments