From b09cdf0d12a8a293e1d4922e4c898ccef9b767f4 Mon Sep 17 00:00:00 2001 From: holadmex Date: Sun, 21 Jul 2024 00:07:40 +0100 Subject: [PATCH] Added deployment workflow for production --- .github/workflows/prod.yml | 38 ++++++++++++++++++++++++++++ server-script/aihomeworkprod.service | 13 ++++++++++ server-script/startappprod.sh | 4 +++ 3 files changed, 55 insertions(+) create mode 100644 .github/workflows/prod.yml create mode 100644 server-script/aihomeworkprod.service create mode 100644 server-script/startappprod.sh 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