All checks were successful
CI / update (push) Successful in 1m11s
Fix the deployment script to properly force the remote server to always match the git repository state, regardless of local changes. Changes: - Replace invalid `git pull --force` with proper fetch and reset - Add `git remote set-url origin` to ensure correct URL with auth token - Use `git fetch origin` to download latest changes - Use `git reset --hard origin/master` to force match remote state This ensures clean deployments even if there are local modifications or conflicts on the remote server, while preserving untracked files like .env.
36 lines
1.1 KiB
YAML
36 lines
1.1 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 restart homepage.service
|