v4.14.1 #67
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy Production | |
on: | |
workflow_dispatch: | |
release: | |
types: [created] | |
jobs: | |
deploy-api: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: "1.20" | |
check-latest: true | |
cache: true | |
cache-dependency-path: server/go.sum | |
- name: Build binary | |
run: make build-server | |
working-directory: ./server | |
- name: Rename binary | |
run: mv server cl-api-production | |
working-directory: ./server | |
- name: Install SSH key | |
uses: benoitchantre/setup-ssh-authentication-action@1.0.1 | |
with: | |
private-key: ${{ secrets.VPS1_PRIVKEY }} | |
known-hosts: ${{ secrets.VPS1_KNOWNHOSTS }} | |
- name: Send binary to vps and restart service | |
run: | | |
rsync -az --delete ./server/cl-api-production admin@vpsnode1.vps.webdock.cloud:/home/admin/ | |
ssh admin@vpsnode1.vps.webdock.cloud "\ | |
sudo rm /home/clothingloop/opt/api-production; \ | |
sudo cp /home/admin/cl-api-production /home/clothingloop/opt/api-production; \ | |
sudo chown root:root /home/clothingloop/opt/api-production; \ | |
sudo chmod 0775 /home/clothingloop/opt/api-production; \ | |
sudo systemctl restart cl-api-production" | |
echo "done" | |
deploy-frontend: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.5 | |
# https://github.com/nodejs/node/issues/49497 | |
cache: "npm" | |
cache-dependency-path: frontend/package-lock.json | |
- name: Install Dependencies Frontend | |
run: npm ci | |
working-directory: ./frontend | |
- name: Build public files | |
run: npm run build:production | |
working-directory: ./frontend | |
- name: Install SSH key | |
uses: benoitchantre/setup-ssh-authentication-action@1.0.1 | |
with: | |
private-key: ${{ secrets.VPS1_PRIVKEY }} | |
known-hosts: ${{ secrets.VPS1_KNOWNHOSTS }} | |
- name: Send public files to vps | |
run: | | |
ssh admin@vpsnode1.vps.webdock.cloud "mkdir -p /home/admin/cl-fe-production" | |
rsync -az --delete ./frontend/build/ admin@vpsnode1.vps.webdock.cloud:/home/admin/cl-fe-production/ | |
ssh admin@vpsnode1.vps.webdock.cloud "\ | |
sudo rsync -z -rlt --chown=caddy:caddy --chmod=0775 --delete /home/admin/cl-fe-production/ /var/caddy/clothingloop.org/; \ | |
sudo systemctl reload caddy" | |
echo "done" |