this repo has no description
1name: Deploy
2
3on:
4 push:
5 branches:
6 - main
7 - astra/ci
8
9jobs:
10 deploy:
11 name: Deploy
12 runs-on: ubuntu-latest
13
14 steps:
15 - name: Checkout repo
16 uses: actions/checkout@v4
17
18 - name: Setup Node.js
19 uses: actions/setup-node@v3
20 with:
21 node-version: '20'
22
23 - name: Setup Deno
24 uses: https://github.com/denoland/setup-deno@v2
25
26 - name: Install dependencies
27 run: deno install
28
29 - name: Build project
30 run: deno task build
31
32 - name: Setup SSH
33 run: |
34 mkdir -p ~/.ssh
35 echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
36 chmod 600 ~/.ssh/id_ed25519
37 cat > ~/.ssh/config << EOF
38 Host deploy
39 HostName ${{ vars.SERVER_HOST }}
40 User ${{ vars.SERVER_USER }}
41 IdentityFile ~/.ssh/id_ed25519
42 StrictHostKeyChecking accept-new
43 BatchMode yes
44 PasswordAuthentication no
45 PubkeyAuthentication yes
46 EOF
47 chmod 600 ~/.ssh/config
48 ssh-keyscan -H ${{ vars.SERVER_HOST }} >> ~/.ssh/known_hosts
49 echo "Deploying to ${{ vars.SERVER_HOST }} as ${{ vars.SERVER_USER }} to /var/www/pds/${{ github.ref_name }}"
50
51 - name: Debug SSH Connection
52 run: ssh -v deploy echo "SSH Connection Successful"
53
54 - name: Create folder if not exists
55 run: ssh deploy "mkdir -p /var/www/pds/${{ github.ref_name }}"
56
57 - name: Deploy via SCP
58 run: scp -r ./dist/* deploy:/var/www/pds/${{ github.ref_name }}