Jenkins est un outil d'intégration continue et de livraison continue (CI/CD) open-source permettant d'automatiser le développement, les tests et le déploiement des applications. Il offre une interface web et de nombreuses fonctionnalités via des plugins.
Jenkins est un outil d'intégration continue et de livraison continue (CI/CD) open-source permettant d'automatiser le développement, les tests et le déploiement des applications. Il offre une interface web et de nombreuses fonctionnalités via des plugins.
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list sudo apt update sudo apt install jenkins sudo systemctl start jenkins sudo systemctl enable jenkins
Jenkins est accessible via http://localhost:8080. Le mot de passe initial se trouve dans /var/lib/jenkins/secrets/initialAdminPassword.
Un job est une tâche à exécuter dans Jenkins. Un pipeline est une série d'étapes automatisées définies en tant que code avec le fichier Jenkinsfile.
Jenkins repose sur une architecture modulaire avec plus de 1800 plugins disponibles.
pipeline { agent any stages { stage('Build') { steps { echo 'Building the application' } } stage('Test') { steps { echo 'Running tests' } } stage('Deploy') { steps { echo 'Deploying application' } } } }
node { stage('Build') { echo 'Building...' } stage('Test') { echo 'Testing...' } stage('Deploy') { echo 'Deploying...' } }
Jenkins permet de stocker des credentials pour sécuriser les accès :
withCredentials([usernamePassword(credentialsId: 'my-credentials', usernameVariable: 'USER', passwordVariable: 'PASS')]) { sh 'curl -u $USER:$PASS https://example.com' }
triggers { scm('H/5 * * * *') // Exécution toutes les 5 minutes }
stage('Test') { steps { sh 'pytest tests/' } }
stage('Deploy') { steps { sh 'scp app.jar user@server:/opt/app/' sh 'ssh user@server "systemctl restart app"' } }
Build > Console OutputDashboard > Build HistoryJenkins est un outil puissant pour automatiser l'intégration et le déploiement des applications. Avec une bonne configuration de pipelines et une gestion efficace des agents et des plugins, il permet d'améliorer la qualité et la rapidité des livraisons logicielles.