Q : Qu'est-ce que Jenkins ?

Jenkins est un outil d'intégration continue open source, écrit en Java. Il fournit des services d'intégration personnalisés pour le développement de logiciels. Il s'agit d'un système basé sur serveur utilisé par de nombreuses équipes de développement.

Q : Pourquoi utiliser Jenkins ?

Utilisez Jenkins si vous cherchez à accélérer votre cycle de développement des logiciels. Jenkins vous permet d'intégrer la production, le déploiement et le test dans des environnements variés, ce qui réduit les temps d'attente pour vos équipes de développement. Enfin, il vous permet d'intégrer en continu, ce qui fait qu'il est parfaitement adapté aux méthodologies DevOps et agiles qui utilisent des cycles d'itération rapides.

Q : Pourquoi exécuter Jenkins sur AWS ?

AWS fournit des ressources d'infrastructures fiables, évolutives et sécurisées, idéales pour exécuter des applications telles que Jenkins. En exécutant Jenkins sur des services de calcul AWS, vous payez uniquement ce que vous utilisez et faites évoluer la capacité (à la hausse comme à la baisse) pour qu'elle corresponde à vos besoins spécifiques.

Q : Serai-je le propriétaire de mon environnement Jenkins ?

Oui. Toutes les ressources créées lors de la réalisation de ce guide de démarrage sont les vôtres et sont rattachées à votre compte. Elles existeront jusqu'à ce que vous décidiez de supprimer l'instance Amazon EC2.

Q : Combien coûte Jenkins ?

Jenkins est un logiciel open source et gratuit. Vous payez uniquement l'infrastructure sous-jacente sur laquelle Jenkins s'exécute. Pour plus d'informations sur les prix, consultez la page Services utilisés et coûts.

Q : Comment sécuriser Jenkins sur AWS ?

Vous devez utiliser les groupes de sécurité et des mots de passe solides. Vous devez également vous assurer que votre instance EC2 et votre installation Jenkins sont à jour avec les derniers correctifs de sécurité. Les groupes de sécurité agissent comme un pare-feu virtuel et dynamique qui contrôle le trafic pour une ou plusieurs instances. Si possible, limitez la plage d'adresses IP aux seules adresses IP source pertinentes. N'ouvrez pas un port TCP ou UDP superflu (TCP 80 et 8080 sont suffisants). Lorsque vous définissez des mots de passe pour Jenkins, respectez les bonnes pratiques habituelles en termes de mots de passe. Utilisez notamment des caractères alphanumériques en majuscule comme en minuscule, en plus de symboles (par exemple : /, ., !, *, etc.). Vous pouvez vous assurer que les derniers packages sont installés sur Amazon Linux en exécutant la mise à jour de yum. Jenkins sera alors également mis à jour si vous l'avez installé en utilisant yum, comme c'est indiqué dans les instructions de ce guide.

Q : Puis-je exécuter Jenkins sur un sous-réseau privé ?

Vous pouvez installer Jenkins sur une instance EC2 appartenant à un sous-réseau public comme privé. Si vous voulez placer une instance dans un sous-réseau privé, vous devez vous assurer d'avoir accès au frontend de Jenkins. Si êtes connecté par Internet, vous pouvez décider de créer un groupe cible Jenkins et d'utiliser un Application Load Balancer afin de créer un point de terminaison public pour votre instance hébergée en privé. Si vous êtes connecté depuis votre propre centre de données, il serait préférable d'établir un VPN ou de connecter Jenkins par Direct Connect.

Q : Comment faire évoluer Jenkins ?

Vous pouvez vous assurer que Jenkins évoluera en fonction de vos besoins en CI/CD de plusieurs façons. Un moyen simple est de faire évoluer verticalement une instance EC2 en modifiant sa taille. Un autre moyen consiste à configurer Jenkins Amazon EC2 Container Service Plugin pour déléguer certaines tâches de conception à des tâches subordonnées de Jenkins sur un cluster ECS.