concourse

main
gwen 3 months ago
parent c6763a6ff8
commit 82165a2482

@ -0,0 +1,79 @@
# ==============================================
# Pipeline Concourse - Déploiement Automatique
# ==============================================
# Surveille le repo Git et déploie automatiquement
resource_types: []
resources:
# Repo Git local (polling toutes les 30 secondes)
- name: repo
type: git
icon: gitlab
check_every: 30s
source:
uri: https://forge.gwenaelremond.fr/romain/ansiblenginx.git
branch: main
jobs:
# Job principal : Déploiement automatique
- name: deploy-bricoloc
plan:
# 1. Récupère le code depuis Git
- get: repo
trigger: true # Déclenche automatiquement sur changement
# 2. Déploie sur le VPS
- task: deploy-to-vps
config:
platform: linux
image_resource:
type: registry-image
source:
repository: python
tag: "3.11-slim"
inputs:
- name: repo
params:
ssh_private_key: ((ssh_private_key))
vps_host: ((vps_host))
vps_user: ((vps_user))
run:
path: /bin/bash
args:
- -exc
- |
# Installer les dépendances
apt-get update && apt-get install -y openssh-client rsync sshpass
pip install ansible
# Configurer SSH
mkdir -p ~/.ssh
echo "$ssh_private_key" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H $vps_host >> ~/.ssh/known_hosts 2>/dev/null
cd repo
# Créer l'inventaire dynamique
cat > inventory.yml << EOF
all:
hosts:
vps1:
ansible_host: $vps_host
ansible_user: $vps_user
ansible_ssh_private_key_file: ~/.ssh/id_rsa
children:
webservers:
hosts:
vps1:
EOF
# Lancer le playbook Ansible
ansible-playbook -i inventory.yml playbook.yml
echo "✅ Déploiement terminé sur $vps_host"
Loading…
Cancel
Save