-
Notifications
You must be signed in to change notification settings - Fork 0
40 lines (35 loc) · 1.22 KB
/
deploy-server.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
name: Deploy Server
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
APP_SECRET: ${{ secrets.APP_SECRET }}
on:
workflow_dispatch:
push:
paths:
- server/**
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
defaults:
run:
working-directory: server
steps:
- uses: actions/checkout@v4
- name: "Set env variables"
run: |
touch .env.local
echo APP_ENV=production >> .env.local
echo APP_SECRET=$APP_SECRET >> .env.local
echo APP_DEBUG=0 >> .env.local
echo CORS_ALLOW_ORIGIN=https://www.caguilera.dev >> .env.local
echo DATABASE_URL=$DATABASE_URL >> .env.local
- name: Get SSH key and set permissions
run: mkdir -p ~/.ssh && echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
- name: Copy server code to EC2
run: scp -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa -r ./* .env .env.local ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:~/portfolio
- name: SSH, setup, and restart server
run:
ssh -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} \
"cd ~/portfolio && composer install"