This commit is contained in:
parent
47fa6db411
commit
f4afd2ff77
3 changed files with 29 additions and 2 deletions
|
|
@ -204,6 +204,33 @@ ansible-playbook playbooks/deploy.yml --ask-vault-pass -e repo_branch=feature/my
|
|||
|
||||
---
|
||||
|
||||
## Refresh Test from Staging
|
||||
|
||||
`copy-staging-to-test.yml` rebuilds the test environment as a clone of staging — useful when you want editors or developers to try out destructive changes against a realistic dataset without touching the staging client demo.
|
||||
|
||||
```bash
|
||||
cd infra/ansible
|
||||
ansible-playbook playbooks/copy-staging-to-test.yml --ask-vault-pass
|
||||
```
|
||||
|
||||
**What it does:**
|
||||
|
||||
1. Verifies the postgres container is up and the staging database exists
|
||||
2. Stops and removes the `app-test` container
|
||||
3. Drops `church_website_test`, recreates it, enables PostGIS, and pipes a `pg_dump` of staging into it
|
||||
4. Reassigns table/sequence/enum ownership in the test DB to `church_website_test`
|
||||
5. Replaces the `uploads-test-media` and `uploads-test-documents` Docker volumes with the contents of their staging counterparts
|
||||
6. Starts a new `app-test` container from the existing `church-website:test` image on port 3002
|
||||
7. Fixes upload volume permissions and waits for `http://127.0.0.1:3002` to return 2xx/3xx
|
||||
|
||||
**Before running:**
|
||||
|
||||
- The test image (`church-website:test`) must already exist on the VPS — this playbook does **not** rebuild it. Run `deploy-test.yml` first if the image is missing or stale.
|
||||
- All connections to `church_website_test` are forcibly terminated. Anyone editing in the test admin will be kicked.
|
||||
- The test DB and upload volumes are wiped — there is no rollback. Take a backup first if anything in test is worth keeping (see [Database backup](#database-backup)).
|
||||
|
||||
---
|
||||
|
||||
## CI/CD
|
||||
|
||||
The Forgejo Actions workflow (`.forgejo/workflows/deploy.yml`) triggers on push to the `staging` branch. It:
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@
|
|||
line-height: 95%;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1400px) {
|
||||
@media screen and (max-width: 1100px) {
|
||||
.menu {
|
||||
flex-direction: column;
|
||||
gap: 30px;
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
color: inherit;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1400px) {
|
||||
@media screen and (max-width: 1100px) {
|
||||
.nav {
|
||||
flex-direction: column;
|
||||
padding: 15px 15px;
|
||||
|
|
|
|||
Loading…
Reference in a new issue