Skip to content

Commit 85d71c9

Browse files
authored
Merge pull request #2 from rtmelsov/rtmelsov-patch-1
Create main.yml
2 parents 93eb67c + 98bd3c2 commit 85d71c9

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

.github/workflows/main.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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+
"

0 commit comments

Comments
 (0)