Move deployment workflow to Christ IT Gitea
This commit is contained in:
+12
-2
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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.
|
||||||
|
|||||||
@@ -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
@@ -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.
|
||||||
|
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
Reference in New Issue
Block a user