Move deployment workflow to Christ IT Gitea

This commit is contained in:
Codex
2026-07-11 08:08:40 -05:00
parent 74eff802f4
commit 0670f48878
6 changed files with 25 additions and 9 deletions
+12 -2
View File
@@ -4,6 +4,16 @@ All notable project changes should be recorded here before or with the matching
This project uses Git as the primary rollback trail. The `.old` convention is reserved for risky manual rewrites, legacy file replacement, or generated artifact recovery where a second local copy is useful before editing. This project uses Git as the primary rollback trail. The `.old` convention is reserved for risky manual rewrites, legacy file replacement, or generated artifact recovery where a second local copy is useful before editing.
If `.old` snapshots are created, move them to an external archive safe outside the repo once the corresponding Git history is committed and pushed.
## 2026-07-11
### Changed
- Moved the canonical project remote from GitHub to Christ IT Gitea at `https://git.christit.com/technical-services-exchange/technical-services-exchange.git`.
- Updated installer defaults and deployment documentation so future installs and updates pull from Christ IT Gitea.
- Formalized the backup convention: Git is the normal rollback trail, and any future `.old` snapshots should be moved to an external safe outside the workspace instead of retained in the repo.
## 2026-07-10 ## 2026-07-10
### Added ### Added
@@ -11,7 +21,7 @@ This project uses Git as the primary rollback trail. The `.old` convention is re
- Added a Phase 1 UI system pass with dark/light theme support, shared page/action/stat components, a product-focused home page, and a more useful dashboard. - Added a Phase 1 UI system pass with dark/light theme support, shared page/action/stat components, a product-focused home page, and a more useful dashboard.
- Added roadmap guardrails for open-source-friendly dependencies, public themes, and future license audits. - Added roadmap guardrails for open-source-friendly dependencies, public themes, and future license audits.
- Documented `pdo_sqlite` and `sqlite3` as required PHP extensions for SQLite-backed local tests and first-pass deployments. - Documented `pdo_sqlite` and `sqlite3` as required PHP extensions for SQLite-backed local tests and first-pass deployments.
- Documented the preferred local-to-GitHub-to-remote-update workflow and the ChristIT conversion from rsync test deploy to Git checkout. - Documented the preferred local-to-Gitea-to-remote-update workflow and the ChristIT conversion from rsync test deploy to Git checkout.
- Added Phase 2 directory quality improvements with advanced provider/buyer filters, sort controls, profile badges, rating-aware cards, result counts, and empty states. - Added Phase 2 directory quality improvements with advanced provider/buyer filters, sort controls, profile badges, rating-aware cards, result counts, and empty states.
- Added Phase 3 asset and storage management with configurable attachment disk/root/size/MIME policy, image previews, file metadata display, attachment deletion, update-script storage linking, and upload policy tests. - Added Phase 3 asset and storage management with configurable attachment disk/root/size/MIME policy, image previews, file metadata display, attachment deletion, update-script storage linking, and upload policy tests.
- Added Phase 4 work-order and profile depth with structured work-order setup, checklist completion, evidence rules, change requests, print packets, structured provider services/tools/certifications, structured buyer policies/locations, and public/private profile section controls. - Added Phase 4 work-order and profile depth with structured work-order setup, checklist completion, evidence rules, change requests, print packets, structured provider services/tools/certifications, structured buyer policies/locations, and public/private profile section controls.
@@ -35,7 +45,7 @@ This project uses Git as the primary rollback trail. The `.old` convention is re
- Added MIT license and first-pass open-source/platform guardrails. - Added MIT license and first-pass open-source/platform guardrails.
- Added deployment documentation covering runtime requirements, ChristIT `/tse` deployment assumptions, and remote change tracking. - Added deployment documentation covering runtime requirements, ChristIT `/tse` deployment assumptions, and remote change tracking.
- Added optional route base-path config and a checked-in Nginx helper for the ChristIT `/tse` Laravel deployment. - Added optional route base-path config and a checked-in Nginx helper for the ChristIT `/tse` Laravel deployment.
- Added first-pass Ubuntu install and update scripts for GitHub-based deployments. - Added first-pass Ubuntu install and update scripts for Git-backed deployments.
### Verified ### Verified
+1 -1
View File
@@ -10,7 +10,7 @@ Project record keeping lives in:
- `docs/ROADMAP.md` for the current build direction and deferred features. - `docs/ROADMAP.md` for the current build direction and deferred features.
- Git for rollback and branch history. - Git for rollback and branch history.
The `.old` backup convention is not used for routine Laravel edits in this project. Use Git for normal recovery. Create a local `.old` copy only before risky manual rewrites, legacy file replacement, or generated artifact recovery where a second local copy is useful before editing. The `.old` backup convention is not used for routine Laravel edits in this project. Use Git for normal recovery. Create a local `.old` copy only before risky manual rewrites, legacy file replacement, or generated artifact recovery where a second local copy is useful before editing, then move that snapshot to an external archive safe outside the repo after the matching Git history is committed and pushed.
The product goal is not to clone Field Nation. The first version focuses on: The product goal is not to clone Field Nation. The first version focuses on:
+7 -1
View File
@@ -255,10 +255,16 @@ Initial test data/runtime:
- No PHP-FPM version changes have been made. - No PHP-FPM version changes have been made.
- No database server changes have been made. - No database server changes have been made.
- Installed Composer on the remote server through Ubuntu packages so future updates can install PHP dependencies from `composer.lock`. - Installed Composer on the remote server through Ubuntu packages so future updates can install PHP dependencies from `composer.lock`.
- Converted `/sites/provider-exchange` from the initial rsync test deployment into a Git checkout of `https://github.com/jasonybird/technical-services-exchange.git`. - Converted `/sites/provider-exchange` from the initial rsync test deployment into a Git checkout.
- Preserved the previous rsync deployment at `/sites/provider-exchange.pre-git-20260710-125739`. - Preserved the previous rsync deployment at `/sites/provider-exchange.pre-git-20260710-125739`.
- Preserved the existing production `.env`, SQLite database, and Laravel `storage/` contents during the Git checkout conversion. - Preserved the existing production `.env`, SQLite database, and Laravel `storage/` contents during the Git checkout conversion.
- Confirmed remote Git checkout at commit `b45a9ec`. - Confirmed remote Git checkout at commit `b45a9ec`.
- Confirmed `bash scripts/update.sh` works from the remote Git checkout: Git pull, Composer install, npm install, Vite build, migrations, and Laravel cache rebuild completed successfully. - Confirmed `bash scripts/update.sh` works from the remote Git checkout: Git pull, Composer install, npm install, Vite build, migrations, and Laravel cache rebuild completed successfully.
- Confirmed remote working tree is clean after normalizing copied `storage/` placeholder file modes. - Confirmed remote working tree is clean after normalizing copied `storage/` placeholder file modes.
- Confirmed authenticated smoke login with `admin@example.com` reaches `https://christit.com/tse/dashboard` and renders dashboard count content. - Confirmed authenticated smoke login with `admin@example.com` reaches `https://christit.com/tse/dashboard` and renders dashboard count content.
2026-07-11:
- Moved the canonical project remote from GitHub to Christ IT Gitea at `https://git.christit.com/technical-services-exchange/technical-services-exchange.git`.
- Updated install/update documentation and installer defaults so future deployments pull from Christ IT Gitea.
- Adopted the project convention that Git is the normal rollback trail; any future `.old` snapshots should be moved to an external archive safe outside the repo instead of retained in the workspace.
+2 -2
View File
@@ -25,7 +25,7 @@ The goal is not to clone Field Nation. The goal is to keep the useful operationa
- Starter Sanctum API endpoints for providers, jobs, current user, work orders, and disputes. - Starter Sanctum API endpoints for providers, jobs, current user, work orders, and disputes.
- Attachment policy with configurable disk, root, MIME allowlist, max size, previews, file metadata, and deletion. - Attachment policy with configurable disk, root, MIME allowlist, max size, previews, file metadata, and deletion.
- Admin overview with counts and recent users/jobs/work orders/disputes. - Admin overview with counts and recent users/jobs/work orders/disputes.
- Local-to-GitHub-to-ChristIT deployment workflow and docs. - Local-to-Christ-IT-Gitea-to-ChristIT deployment workflow and docs.
### Current Weak Spots In Code ### Current Weak Spots In Code
@@ -707,7 +707,7 @@ Features:
- thumbnail generation, - thumbnail generation,
- quotas, - quotas,
- private file access. - private file access.
- Add CI checks if GitHub Actions becomes useful. - Add CI checks if the Christ IT Gitea action runner becomes useful.
Provider-protection rules: Provider-protection rules:
+2 -2
View File
@@ -9,7 +9,7 @@ From a fresh Ubuntu host:
```bash ```bash
sudo APP_URL=https://example.com \ sudo APP_URL=https://example.com \
APP_DIR=/var/www/technical-services-exchange \ APP_DIR=/var/www/technical-services-exchange \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/jasonybird/technical-services-exchange/main/scripts/install-ubuntu.sh)" bash -c "$(curl -fsSL https://git.christit.com/technical-services-exchange/technical-services-exchange/raw/branch/main/scripts/install-ubuntu.sh)"
``` ```
The installer defaults to SQLite for a small test deployment. For production, use MariaDB/MySQL or PostgreSQL and set the database values in `.env` before running migrations. The installer defaults to SQLite for a small test deployment. For production, use MariaDB/MySQL or PostgreSQL and set the database values in `.env` before running migrations.
@@ -37,7 +37,7 @@ APP_DIR=/var/www/technical-services-exchange bash /var/www/technical-services-ex
The preferred working loop for this project is: The preferred working loop for this project is:
1. Make and test changes locally. 1. Make and test changes locally.
2. Commit and push to GitHub. 2. Commit and push to the Christ IT Gitea repository.
3. SSH to the server and run `bash scripts/update.sh` from the deployed Git checkout. 3. SSH to the server and run `bash scripts/update.sh` from the deployed Git checkout.
4. Smoke test the live URL after the update completes. 4. Smoke test the live URL after the update completes.
+1 -1
View File
@@ -2,7 +2,7 @@
set -euo pipefail set -euo pipefail
APP_DIR="${APP_DIR:-/var/www/technical-services-exchange}" APP_DIR="${APP_DIR:-/var/www/technical-services-exchange}"
REPO_URL="${REPO_URL:-https://github.com/jasonybird/technical-services-exchange.git}" REPO_URL="${REPO_URL:-https://git.christit.com/technical-services-exchange/technical-services-exchange.git}"
APP_URL="${APP_URL:-http://localhost}" APP_URL="${APP_URL:-http://localhost}"
APP_BASE_PATH="${APP_BASE_PATH:-}" APP_BASE_PATH="${APP_BASE_PATH:-}"
ASSET_URL="${ASSET_URL:-$APP_URL}" ASSET_URL="${ASSET_URL:-$APP_URL}"