Actualizar deploy-containers.yaml
This commit is contained in:
@@ -1,11 +1,12 @@
|
|||||||
version: v1.0
|
version: v1.0
|
||||||
name: "Deploy Multiple Ubuntu 24.04 Containers"
|
name: "Deploy Multiple Ubuntu 24.04 Containers (Incus + Terraform)"
|
||||||
|
|
||||||
agent:
|
agent:
|
||||||
machine:
|
machine:
|
||||||
type: cloud
|
type: cloud
|
||||||
os_image: "ubuntu2204"
|
os_image: "ubuntu/24.04"
|
||||||
|
|
||||||
|
# Bloque 1 - Inicializar Terraform
|
||||||
blocks:
|
blocks:
|
||||||
- name: "Initialize Terraform"
|
- name: "Initialize Terraform"
|
||||||
task:
|
task:
|
||||||
@@ -13,32 +14,43 @@ blocks:
|
|||||||
- name: "Init Terraform"
|
- name: "Init Terraform"
|
||||||
commands:
|
commands:
|
||||||
- checkout
|
- checkout
|
||||||
|
- echo "[INFO] Instalando Terraform e Incus..."
|
||||||
- sudo apt update && sudo apt install -y
|
- sudo apt update && sudo apt install -y
|
||||||
|
- echo "[INFO] Inicializando Terraform..."
|
||||||
- terraform init
|
- terraform init
|
||||||
|
|
||||||
- name: "Deploy Multiple Containers"
|
# Bloque 2 - Despliegue
|
||||||
|
- name: "Deploy Containers"
|
||||||
task:
|
task:
|
||||||
env_vars:
|
|
||||||
- name: TF_VAR_containers
|
|
||||||
value: '["web01", "web02"]'
|
|
||||||
jobs:
|
jobs:
|
||||||
- name: "Terraform Apply"
|
- name: "Terraform Apply"
|
||||||
commands:
|
commands:
|
||||||
|
- echo "[INFO] Desplegando contenedores definidos en TF_VAR_containers..."
|
||||||
|
- echo "Variables actuales:"
|
||||||
|
- echo "$TF_VAR_containers" | jq
|
||||||
- terraform apply -auto-approve
|
- terraform apply -auto-approve
|
||||||
|
|
||||||
|
# Bloque 3 - Verificación
|
||||||
- name: "Verify Containers"
|
- name: "Verify Containers"
|
||||||
task:
|
task:
|
||||||
jobs:
|
jobs:
|
||||||
- name: "List Containers"
|
- name: "List and Verify"
|
||||||
commands:
|
commands:
|
||||||
|
- echo "[INFO] Listando contenedores..."
|
||||||
- incus list
|
- incus list
|
||||||
- incus exec web01 -- hostname
|
- echo "[INFO] Verificando estado de cada contenedor..."
|
||||||
- incus exec web02 -- lsb_release -a
|
- for c in $(echo $TF_VAR_containers | jq -r '.[]'); do
|
||||||
- name: "Destroy (Manual)"
|
echo "[INFO] -> $c";
|
||||||
|
incus exec "$c" -- bash -c "hostname && uptime && lsb_release -a || true";
|
||||||
|
done
|
||||||
|
|
||||||
|
# Bloque 4 - Destrucción manual
|
||||||
|
- name: "Destroy Containers (Manual)"
|
||||||
task:
|
task:
|
||||||
run:
|
run:
|
||||||
when: "manual"
|
when: "manual"
|
||||||
jobs:
|
jobs:
|
||||||
- name: "Destroy All"
|
- name: "Destroy Terraform Resources"
|
||||||
commands:
|
commands:
|
||||||
|
- echo "[INFO] Destruyendo contenedores definidos..."
|
||||||
- terraform destroy -auto-approve
|
- terraform destroy -auto-approve
|
||||||
|
|||||||
Reference in New Issue
Block a user