Collection officielle JFrog Ansible pour Artifactory & Xray
Ansible est devenu l’un des outils les plus populaires utilisés par les équipes d’exploitation pour automatiser leurs tâches informatiques. Il leur permet de gérer rapidement, et à l’échelle de la plus grande entreprise, la configuration de leurs systèmes informatiques. Cela inclut les logiciels et l’infrastructure sur site et dans le Cloud. Grâce à son origine open source, une vaste communauté mondiale n'a cessé de grandir avec un écosystème d’intégrations tout aussi vaste. Presque tous les logiciels ou infrastructures auxquels vous pouvez penser ont un module Ansible et peuvent être gérés par Ansible. Les plus grandes entreprises clientes de JFrog utilisent Ansible pour gérer des milliers de serveurs.
La collection officielle JFrog Ansible est maintenant disponible dans le Marketplace Ansible Galaxy, ce qui simplifie et augmente l'efficacité de la gestion de JFrog Artifactory et JFrog Xray sur l'ensemble de vos réseaux.
Ce qui est inclus dans la collection JFrog Ansible
La collection Ansible de JFrog comprend plusieurs rôles Ansible qui vous permettent d’installer les dernières solutions Artifactory et Xray dans de nombreuses configurations. Qu'il s'agisse d'installations simples à un seul serveur ou de configurations redondantes et à disponibilité élevée, cette collection offre la flexibilité nécessaire à toute architecture. En outre, des rôles en option pour une base de données Postgresql et NGINX sont fournis si vous souhaitez ajouter ces composants. Les exemples de fichiers d'inventaire et de manuel qui sont inclus dans la collection couvrent la plupart des cas d'utilisation populaires.
Utilisation de la Collection JFrog Ansible
Pour montrer la façon d'utiliser cette collection Ansible, installons un simple cluster Artifactory et Xray qui partage la même base de données.
Configuration avec Ansible et la Collection JFrog Ansible
Tout d’abord, il faut installer Ansible sur notre client. Il existe plusieurs façons d’installer Ansible en fonction de votre système. Ansible utilise SSH pour se connecter aux hôtes. La meilleure pratique consiste à configurer des paires de clés SSH et à placer la clé publique sur les hôtes. La documentation Ansible décrit la façon de le faire. Certains fournisseurs de Cloud vous facilitent la tâche en configurant les clés SSH pour vous.
La collection JFrog Ansible peut être installée à partir de l'Ansible Galaxy à l’aide de la commande suivante :
ansible-galaxy collection install jfrog.installers
Exécution d’un "playbook"
Pour exécuter un playbook pour installer Artifactory et Xray, il faut commencer par configurer un fichier d’inventaire. Le fichier d’inventaire spécifie nos hôtes et les variables requises pour l’installation. Voici un exemple de fichier d’inventaire pour trois serveurs. Le groupe de la database spécifie un hôte de base de données unique avec deux bases de données : artifactory et xraydb. Le groupe artifactory spécifie un hôte Artifactory unique. Le groupe xray spécifie un hôte Xray unique. Enfin, chaque groupe et chaque hôte a ses variables requises. Ce fichier d’inventaire est l’entrée vers notre playbook pour installer notre logiciel.
inventory.yml
---
all:
vars:
ansible_user: "ubuntu"
children:
database:
hosts:
34.239.106.0:
dbs:
- { db_name: "artifactory", db_owner: "artifactory" }
- { db_name: "xraydb", db_owner: "xray" }
db_users:
- { db_user: "artifactory", db_password: "artifactory" }
- { db_user: "xray", db_password: "xray" }
artifactory:
hosts:
54.237.206.135:
artifactory_license1: x
artifactory_license2: x
artifactory_license3: x
artifactory_license4: x
artifactory_license5: x
master_key: "c97b862469de0d94fbb7d48130637a5a"
join_key: "9bcca98f375c0728d907cc6ee39d4f02"
db_download_url: "https://jdbc.postgresql.org/download/postgresql-42.2.12.jar"
db_type: "postgresql"
db_driver: "org.postgresql.Driver"
db_url: "jdbc:postgresql://10.0.0.59:5432/artifactory"
db_user: "artifactory"
db_password: "Art1fAct0ry"
server_name: "ec2-54-237-207-135.compute-1.amazonaws.com"
xray:
hosts:
100.25.106.174:
jfrog_url: "https://ec2-54-236-201-125.compute-1.amazonaws.com"
master_key: "c97b862469de0d94fbb7d48130637a5a"
join_key: "9bcca98f375c0728d907cc6ee39d4f02"
db_type: "postgresql"
db_driver: "org.postgresql.Driver"
db_url: "postgres://10.0.0.59:5432/xraydb?sslmode=disable"
db_user: "xray"
db_password: "xray"
Notre playbook est très simple puisqu’il utilise nos rôles JFrog Ansible. Ces rôles contiennent les tâches pour installer notre logiciel. Pour notre groupe database, nous avons spécifié le rôle postgres. Pour le groupe artifactory, nous spécifions le rôle artifactory. Pour le groupe xray, nous spécifions le rôle xray.
playbook.yml
---
- hosts: database
roles:
- postgres
- hosts: artifactory
roles:
- artifactory
- hosts: xray
roles:
- xray
Maintenant, nous pouvons exécuter notre playbook par rapport à notre inventaire.
ansible-playbook -i inventory.yml playbook.yml
Cela lance Ansible pour installer notre logiciel sur tous les serveurs. C’est aussi simple que cela.
Il s’agit d’un déploiement très simple. Mais Ansible est très largement utilisé pour installer des logiciels à une échelle beaucoup plus importante, avec des centaines de serveurs. Ansible exécute des tâches d’automatisation parallèles et gère tout cela à partir du client Ansible. Ce type de déploiement à grande échelle de serveurs est naturel pour un réseau mondial de serveurs JFrog Artifactory et Xray. Voilà pourquoi Ansible est un excellent outil pour gérer les serveurs JFrog.