Skip to content

Merge pull request #50 from Romantic-Yeojido/develop #8

Merge pull request #50 from Romantic-Yeojido/develop

Merge pull request #50 from Romantic-Yeojido/develop #8

Workflow file for this run

name: deploy-main
on:
push:
branches:
- main
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure SSH
run: |
mkdir -p ~/.ssh
echo "$EC2_SSH_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
cat >>~/.ssh/config <<END
Host romantic-yeojido
HostName $EC2_HOST
User $EC2_USER
IdentityFile ~/.ssh/id_rsa
StrictHostKeyChecking no
END
env:
EC2_USER: ubuntu
EC2_HOST: ${{ secrets.EC2_HOST }}
EC2_SSH_KEY: ${{ secrets.EC2_SSH_KEY }}
- name: Copy Workspace
run: |
ssh romantic-yeojido 'sudo mkdir -p /opt/app'
ssh romantic-yeojido 'sudo chown ubuntu:ubuntu /opt/app/'
scp -r ./[!.]* romantic-yeojido:/opt/app
- name: Install dependencies
run: |
ssh romantic-yeojido 'npm install --prefix /opt/app/'
- name: Copy systemd service file
run: |
ssh romantic-yeojido '
echo "[Unit]
Description=romantic-yeojido
After=network.target
[Service]
User=${USER}
ExecStart=/usr/bin/npm run dev --prefix /opt/app/
Restart=always
[Install]
WantedBy=multi-user.target" | sudo tee /etc/systemd/system/app.service
'
- name: Enable systemd service
run: |
ssh romantic-yeojido 'sudo systemctl daemon-reload'
ssh romantic-yeojido 'sudo systemctl enable app'
- name: Restart systemd service
run: |
ssh romantic-yeojido 'sudo systemctl restart app'