ci: add Gitea Actions deploy workflow for laralog.neatstudio.com
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
name: Build and Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
verify:
|
||||
runs-on: laralog-ci
|
||||
steps:
|
||||
- uses: https://gitea.neatcn.com/gouki/action-checkout@v4
|
||||
- name: Verify CI runtime
|
||||
run: |
|
||||
php -r 'exit(PHP_VERSION_ID >= 80200 ? 0 : 1);'
|
||||
node --version
|
||||
composer --version
|
||||
- name: Install backend dependencies
|
||||
run: |
|
||||
composer install --no-interaction --prefer-dist
|
||||
npm install
|
||||
- name: Build backend assets
|
||||
run: npm run build
|
||||
- name: Persist built assets for deploy job
|
||||
run: |
|
||||
dest="/ci-artifacts/build-${{ gitea.sha }}"
|
||||
test -d /ci-artifacts
|
||||
rm -rf "$dest"
|
||||
mkdir -p "$dest"
|
||||
cp -a public/build/. "$dest/"
|
||||
test -f "$dest/manifest.json"
|
||||
|
||||
deploy:
|
||||
needs: verify
|
||||
runs-on: production
|
||||
steps:
|
||||
- uses: https://gitea.neatcn.com/gouki/action-checkout@v4
|
||||
- name: Restore built assets from runner host
|
||||
run: |
|
||||
src="/opt/laralog/ci-artifacts/build-${{ gitea.sha }}"
|
||||
test -d "$src"
|
||||
mkdir -p public/build
|
||||
cp -a "$src/." public/build/
|
||||
test -f public/build/manifest.json
|
||||
- uses: https://gitea.neatcn.com/gouki/deployment-toolkit/actions/laravel-release@v1.0.6
|
||||
with:
|
||||
source-dir: .
|
||||
deploy-root: /opt/1panel/apps/openresty/openresty/www/sites/laralog.neatstudio.com/index
|
||||
container-deploy-root: /www/sites/laralog.neatstudio.com/index
|
||||
php-container: php83-1panel-php-1
|
||||
healthcheck-url: https://laralog.neatstudio.com/up
|
||||
backup-command: "mysqldump -h10.0.4.7 -ularalog -p'Laralog#2026' laralog | gzip > /opt/laralog/backups/laralog-${{ gitea.sha }}.sql.gz"
|
||||
release-id: ${{ gitea.sha }}
|
||||
Reference in New Issue
Block a user