Point dta_webapp webroot at realpath.app paths (closes #12) (#13)
Sync runner checkout / sync (push) Successful in 7s
Sync runner checkout / sync (push) Successful in 7s
## Summary
- Change `dta_webapp` `webroot_pattern` from `/var/www/{env}.app.ditchtheagent/html` → `/var/www/{env}.realpath.app/html`
- Update `IMPLEMENTATION.md` references to match
- **web-static:** before `compose up`, `docker rm -f` any container publishing the static host ports (`docker ps --filter publish=<port>`), then force-recreate when cleanup ran — clears orphan/legacy binders while keeping the same ports
Closes #12
Coordinates with [dta_webapp#48](Ditch_The_Agent/dta_webapp#48) / [PR #49](Ditch_The_Agent/dta_webapp#49) (`build:beta`/`build:prod` write to the same dirs; prod uses `prod.realpath.app`).
## Test plan
- [ ] Confirm `app_catalog.dta_webapp.webroot_pattern` expands to beta/prod realpath paths
- [ ] On a host with a leftover container on 8080/8081, run deploy and confirm it is removed and web-static rebinds
- [ ] After merge, redeploy `dta_webapp` beta (and prod when ready) and verify files under `/var/www/{env}.realpath.app/html`
- [ ] Hit web-static ports and confirm new build content servedReviewed-on: #13
This commit was merged in pull request #13.
This commit is contained in:
@@ -39,9 +39,34 @@
|
||||
mode: "0644"
|
||||
register: _compose_file
|
||||
|
||||
# Free host ports before bind. Catches leftover/orphan containers from older
|
||||
# compose projects that still publish 8080/8081/etc. Includes the current
|
||||
# web-static container when present — compose up recreates it next.
|
||||
- name: web-static | find containers publishing static ports
|
||||
ansible.builtin.command:
|
||||
cmd: docker ps -q --filter publish={{ item }}
|
||||
loop: "{{ _static_apps | map(attribute='port') | list | unique }}"
|
||||
register: _port_holders
|
||||
changed_when: false
|
||||
become: true
|
||||
|
||||
- name: web-static | unique container ids on static ports
|
||||
ansible.builtin.set_fact:
|
||||
_stale_port_cids: "{{ _port_holders.results | map(attribute='stdout_lines') | flatten | unique | list }}"
|
||||
|
||||
- name: web-static | remove containers holding static ports
|
||||
ansible.builtin.command:
|
||||
cmd: "docker rm -f {{ _stale_port_cids | join(' ') }}"
|
||||
when: _stale_port_cids | length > 0
|
||||
become: true
|
||||
changed_when: true
|
||||
register: _stale_port_rm
|
||||
|
||||
- name: web-static | start container
|
||||
ansible.builtin.command:
|
||||
cmd: "docker compose up -d --remove-orphans{{ ' --force-recreate' if (_compose_file is changed) else '' }}"
|
||||
cmd: >-
|
||||
docker compose up -d --remove-orphans
|
||||
{{ '--force-recreate' if (_compose_file is changed or (_stale_port_rm is changed)) else '' }}
|
||||
chdir: "{{ web_static_dir }}"
|
||||
become: true
|
||||
become_user: "{{ admin_user }}"
|
||||
@@ -53,5 +78,8 @@
|
||||
chdir: "{{ web_static_dir }}"
|
||||
become: true
|
||||
become_user: "{{ admin_user }}"
|
||||
when: _nginx_conf is changed and _compose_file is not changed
|
||||
when:
|
||||
- _nginx_conf is changed
|
||||
- _compose_file is not changed
|
||||
- _stale_port_rm is not changed
|
||||
changed_when: true
|
||||
|
||||
Reference in New Issue
Block a user