All checks were successful
CI / update (push) Successful in 1m10s
Changes deployment process to build in default 'build' directory, then safely deploy to 'dist' directory by stopping the service first, ensuring clean deployment without serving partial builds.
41 lines
1.2 KiB
YAML
41 lines
1.2 KiB
YAML
name: CI
|
|
|
|
# Controls when the action will run.
|
|
on:
|
|
# Triggers the workflow on push to master (including merged PRs)
|
|
push:
|
|
branches: [ master ]
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
|
jobs:
|
|
# This workflow contains a single job called "build"
|
|
update:
|
|
# The type of runner that the job will run on
|
|
runs-on: ubuntu-latest
|
|
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
- name: Updating website.
|
|
uses: appleboy/ssh-action@master
|
|
with:
|
|
host: bocken.org
|
|
username: homepage
|
|
key: ${{ secrets.homepage_ssh }}
|
|
passphrase: ${{ secrets.homepage_pass }}
|
|
port: 22
|
|
script: |
|
|
cd /usr/share/webapps/homepage
|
|
git remote set-url origin https://Alexander:${{ secrets.homepage_gitea_token }}@git.bocken.org/Alexander/homepage
|
|
git fetch origin
|
|
git reset --hard origin/master
|
|
npm run build
|
|
sudo systemctl stop homepage.service
|
|
mkdir -p dist
|
|
rm -rf dist/*
|
|
mv build/* dist/
|
|
rmdir build
|
|
sudo systemctl start homepage.service
|