* Update all import paths * Rename directory cmd/wpcomposer/ → cmd/wppackages/ * Rename import alias wpcomposergo → wppackagesgo in main.go and migrate_test.go * Makefile — binary name wpcomposer → wppackages * Update Air path * Global replace repo.wp-composer.com → repo.wp-packages.org * Global replace cdn.wp-composer.com → cdn.wp-packages.org * Global replace wp-composer.com → wp-packages.org (remaining) * Composer repo key in templates/docs: repositories.wp-composer → repositories.wp-packages * Rename columns on the existing schema * Update all Go code referencing these column names * Routes & SEO * Templates & front-end * Admin UI * Documentation * CI/CD * Config defaults * Rename role directory * Rename all systemd template files inside the role * Update contents of all .j2 templates — service names, binary paths, descriptions * Update tasks/main.yml and handlers/main.yml in the role * Update deploy/ansible/roles/app/tasks/main.yml and deploy.yml * Update deploy/ansible/group_vars/production/main.yml * Additional renames/fixes * Additional renames/fixes * Additional renames/fixes * not needed
94 lines
2.2 KiB
YAML
94 lines
2.2 KiB
YAML
---
|
|
- name: Generate release ID
|
|
set_fact:
|
|
release_id: "{{ lookup('pipe', 'date +%Y%m%d%H%M%S') }}"
|
|
|
|
- name: Set release path
|
|
set_fact:
|
|
release_path: "{{ app_root }}/releases/{{ release_id }}"
|
|
|
|
- name: Create release directory
|
|
file:
|
|
path: "{{ release_path }}"
|
|
state: directory
|
|
owner: deploy
|
|
group: www-data
|
|
mode: "0775"
|
|
|
|
- name: Build CSS with Tailwind
|
|
delegate_to: localhost
|
|
become: false
|
|
shell: >
|
|
cd {{ playbook_dir }}/../.. &&
|
|
make tailwind
|
|
|
|
- name: Build Go binary locally
|
|
delegate_to: localhost
|
|
become: false
|
|
shell: >
|
|
cd {{ playbook_dir }}/../.. &&
|
|
GOOS=linux GOARCH=amd64 go build -o /tmp/wppackages-deploy-{{ release_id }} ./cmd/wppackages
|
|
|
|
- name: Upload binary
|
|
copy:
|
|
src: "/tmp/wppackages-deploy-{{ release_id }}"
|
|
dest: "{{ release_path }}/{{ go_binary_name }}"
|
|
owner: deploy
|
|
group: www-data
|
|
mode: "0755"
|
|
|
|
- name: Upload seeds file
|
|
copy:
|
|
src: "{{ playbook_dir }}/../../seeds.yaml"
|
|
dest: "{{ release_path }}/seeds.yaml"
|
|
owner: deploy
|
|
group: www-data
|
|
mode: "0644"
|
|
|
|
- name: Symlink shared storage
|
|
file:
|
|
src: "{{ app_root }}/shared/storage"
|
|
dest: "{{ release_path }}/storage"
|
|
state: link
|
|
owner: deploy
|
|
group: www-data
|
|
|
|
- name: Symlink shared .env
|
|
file:
|
|
src: "{{ app_root }}/shared/.env"
|
|
dest: "{{ release_path }}/.env"
|
|
state: link
|
|
owner: deploy
|
|
group: www-data
|
|
|
|
- name: Run database migrations
|
|
become_user: deploy
|
|
shell: "{{ release_path }}/{{ go_binary_name }} migrate --db {{ db_path }}"
|
|
|
|
- name: Atomic symlink swap
|
|
shell: |
|
|
ln -sfn {{ release_path }} {{ app_root }}/current.tmp
|
|
mv -T {{ app_root }}/current.tmp {{ app_root }}/current
|
|
|
|
- name: Check if wppackages service exists
|
|
stat:
|
|
path: /etc/systemd/system/wppackages.service
|
|
register: wppackages_service
|
|
|
|
- name: Restart wppackages service
|
|
service:
|
|
name: wppackages
|
|
state: restarted
|
|
when: wppackages_service.stat.exists
|
|
|
|
- name: Clean up old releases
|
|
shell: |
|
|
cd {{ app_root }}/releases
|
|
ls -1dt */ | tail -n +6 | xargs -r rm -rf
|
|
|
|
- name: Clean up local build artifact
|
|
delegate_to: localhost
|
|
become: false
|
|
file:
|
|
path: "/tmp/wppackages-deploy-{{ release_id }}"
|
|
state: absent
|