73 lines
1.6 KiB
Markdown
73 lines
1.6 KiB
Markdown
# SemaphoreUI Docker Splash Demo
|
|
|
|
Demo Ansible molto semplice, pensata per essere eseguita da SemaphoreUI:
|
|
- `test.yml`: verifica connettivita e prerequisiti
|
|
- `deploy.yml`: deploy di un container Nginx Docker con pagina HTML custom
|
|
- `undeploy.yml`: rimozione container e cleanup
|
|
|
|
## Struttura
|
|
|
|
```text
|
|
ansible-semaphore-docker-demo/
|
|
ansible.cfg
|
|
inventory
|
|
requirements.yml
|
|
deploy.yml
|
|
test.yml
|
|
undeploy.yml
|
|
group_vars/
|
|
all.yml
|
|
secrets.yml
|
|
roles/
|
|
splash/
|
|
tasks/main.yml
|
|
templates/index.html.j2
|
|
templates/nginx.conf.j2
|
|
semaphore_dagster_config.example.yml
|
|
```
|
|
|
|
## Prerequisiti host target
|
|
|
|
- Linux con accesso SSH
|
|
- Privilegi sudo/root
|
|
- Debian/Ubuntu (nel playbook installo `docker.io` e `python3-docker`)
|
|
|
|
## Uso locale rapido
|
|
|
|
```bash
|
|
cd ansible-semaphore-docker-demo
|
|
ansible-galaxy collection install -r requirements.yml
|
|
ansible-playbook -i inventory test.yml
|
|
ansible-playbook -i inventory deploy.yml
|
|
ansible-playbook -i inventory undeploy.yml
|
|
```
|
|
|
|
## Accesso app
|
|
|
|
Dopo il deploy:
|
|
- `http://<IP_SERVER>:8090`
|
|
- healthcheck: `http://<IP_SERVER>:8090/health`
|
|
|
|
## Variabili principali
|
|
|
|
In `group_vars/all.yml`:
|
|
- `app_port`
|
|
- `greeting_message`
|
|
- `container_name`
|
|
- `nginx_version`
|
|
- `accent_color`
|
|
- `secondary_color`
|
|
|
|
In `group_vars/secrets.yml`:
|
|
- `app_secret`
|
|
- `release_id`
|
|
|
|
Per produzione: cifra `group_vars/secrets.yml` con Ansible Vault.
|
|
|
|
## SemaphoreUI
|
|
|
|
Per bootstrap automatico con il tuo DAG, usa il file:
|
|
- `semaphore_dagster_config.example.yml`
|
|
|
|
Basta aggiornare URL Semaphore, token API, project ID, repo URL e inventory content.
|