diff --git a/.github/workflows/prod.yml b/.github/workflows/prod.yml new file mode 100644 index 00000000..87c8e0c2 --- /dev/null +++ b/.github/workflows/prod.yml @@ -0,0 +1,38 @@ +name: Build, Test, and Deploy for Prod Branch + +on: + push: + branch: + - main + +jobs: + build: + runs-on: self-hosted + defaults: + run: + working-directory: /var/www/aihomework/prod + + steps: + - name: Pull from github + id: pull + run: | + git pull origin prod + + - name: install dependencies + run: yarn install + + - name: buld the dist + run: yarn build + + - name: setup service file + run: sudo cp server-script/aihomeworkprod.service /etc/systemd/system + + - name: start the app + run: | + sudo systemctl daemon-reload + sudo systemctl restart aihomeworkprod + + # test: + # -name: Run test + # run: yarn jest + diff --git a/server-script/aihomeworkprod.service b/server-script/aihomeworkprod.service new file mode 100644 index 00000000..fe26ab18 --- /dev/null +++ b/server-script/aihomeworkprod.service @@ -0,0 +1,13 @@ +[Unit] +Description=AIHomework-Prod +After=network.target + +[Service] +WorkingDirectory=/var/www/aihomework/prod +ExecStart=/bin/bash /var/www/aihomework/prod/server-script/startappprod.sh +#Restart=on-failure +#RestartSec=20s +StartLimitInterval=0 + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/server-script/startappprod.sh b/server-script/startappprod.sh new file mode 100644 index 00000000..46764ee1 --- /dev/null +++ b/server-script/startappprod.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +cd /var/www/aihomework/prod/ +/usr/bin/yarn prod