Installation et sécurisation de Jenkins
Plus tôt cette année, j'ai écrit un article sur PHP-CI, que vous pouvez utiliser comme outil d'intégration continue pour vos projets PHP. Dans cet article, j'ai indiqué que j'aimais toujours Jenkins le plus en tant qu'outil CI. Il est temps de plonger dans Jenkins et de voir comment nous pouvons configurer cela pour notre projet PHP.
Les plats clés
- Jenkins est un outil polyvalent qui peut être utilisé pour l'intégration continue de nombreuses applications différentes, y compris les applications Web, logicielles et mobiles. Il offre de nombreuses options et possibilités, ce qui le rend potentiellement écrasant pour les nouveaux utilisateurs.
- L'installation de Jenkins sur Ubuntu Server 14.04 LTS implique l'exécution de commandes spécifiques pour ajouter la clé du référentiel Jenkins au système, ajouter Jenkins au fichier sources.list et enfin installer Jenkins. Une fois installé, Jenkins est accessible via un navigateur en ajoutant le port 8080 à la fin de l'URL.
- sécuriser Jenkins est crucial pour empêcher un accès non autorisé. Cela implique d'activer le domaine de sécurité, de créer une base de données d'utilisateurs, de désactiver l'option pour les utilisateurs de s'inscrire sans autorisation et de définir l'autorisation à l'aide de la sécurité basée sur la matrice ou de la stratégie d'autorisation de matrice basée sur le projet.
- La préparation des jenkins pour les projets PHP implique d'installer plusieurs plugins et de créer un modèle. Les plugins effectuent des tâches telles que l'analyse d'un rapport et la convertir en graphique. Le modèle, créé par Sebastian Bergmann, simplifie le processus de configuration d'un nouveau projet.
Introduction à Jenkins
La liste des choses que Jenkins a à offrir est énorme en raison du riche système de plugin qu'il a. Fondamentalement, Jenkins n'est qu'un outil qui connecte toutes sortes d'outils et de plugins différents pour créer un rapport pour vous. Par exemple, il peut exécuter PHPUnit et vous montrer les résultats dans un graphique au fil du temps. Il peut vérifier les erreurs de votre code PHP en exécutant PHP -L. Cependant, vous pouvez également laisser Jenkins créer un projet et sortir un fichier ZIP, que vous pouvez utiliser pour déployer votre application. L'avantage de cela est que vous récupérez un fichier zip complet pour mettre à niveau votre application de production sans avoir à exécuter des outils comme le compositeur ou le NPM sur vos serveurs de production.
Jenkins peut être utilisé pour de nombreuses applications différentes. Vous pouvez l'utiliser pour des applications Web écrites en PHP, mais également pour les logiciels et les applications mobiles écrites en Java ou toute autre langue. Cela fait de Jenkins un outil très polyvalent et très intéressant pour les entreprises qui gèrent de nombreux projets différents.
Parce que Jenkins a tellement d'options et de possibilités, il semble écrasant que les gens commencent à l'utiliser. Dans cette série d'articles, nous allons lentement travailler dans Jenkins. Nous allons commencer par l'installation et la configuration. Après cela, nous continuerons à analyser un projet. En fin de compte, nous allons examiner de près de nombreux autres plugins que nous pouvons utiliser pour vérifier la qualité de notre produit.
Nous nous concentrerons principalement sur la qualité du code PHP, mais en fin de compte, nous allons également examiner l'analyse de nos HTML, CSS et JavaScript qui fonctionnent en harmonie étroite avec PHP.
Installation de Jenkins
Vous pouvez installer Jenkins sur n'importe quel système d'exploitation populaire. Pour cet article, nous allons installer Jenkins sur Ubuntu Server 14.04 LTS. Si vous utilisez un système d'exploitation différent, vous pouvez vérifier ici les instructions d'installation par système d'exploitation. Pour installer Jenkins sur Ubuntu, le moyen le plus simple serait d'exécuter cette commande.
<span>sudo apt-get install jenkins</span>
Cependant, vous installez maintenant Jenkins qui se trouve dans le référentiel d'Ubuntu. Jenkins suggère lui-même d'installer directement à partir des référentiels de Jenkins. Tout d'abord, nous ajoutons la clé à notre système pour le référentiel.
<span>wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -</span>
Maintenant, nous exécutons la commande suivante pour ajouter Jenkins au fichier sources.list.
<span>deb http://pkg.jenkins-ci.org/debian binary/</span>
Maintenant, nous sommes prêts à installer Jenkins.
sudo apt-get update
<span>sudo apt-get install jenkins</span>
Une fois terminé, Jenkins est installé avec succès sur votre serveur.
Vous pouvez désormais atteindre Jenkins via votre navigateur en ajoutant le port 8080 à la fin de l'URL. Imaginez donc mon serveur est nommé ci.myserver.com Vous pouvez atteindre Jenkins sur ci.myserver.com:8080.
.
sécuriser Jenkins
La première chose que vous devriez remarquer est que Jenkins est complètement ouvert. Quiconque va maintenant à cette URL peut effectuer toutes sortes de tâches différentes, donc la première chose que nous allons faire est de la sécuriser. Nous commençons par cliquer sur Gérer Jenkins dans le menu de la barre latérale. où nous serons accueillis par une notification de Jenkins, recommandant de sécuriser le serveur CI.
Cliquez sur le bouton Configuration de la sécurité pour continuer. Sur la page suivante, Mark Activer la case à cocher Security tel que coché. Les étapes suivantes sont cruciales à suivre correctement, car il est facile de vous enfermer de Jenkins. Si cela se produit, vous pouvez suivre ces étapes pour accéder à nouveau.
La première chose que vous devez faire est de définir votre domaine de sécurité. Le plus simple est que Jenkins ait sa propre base de données d'utilisateurs en marquant la case à cocher devant la propre base de données d'utilisateurs de Jenkins. Assurez-vous que l'option Autoriser les utilisateurs à inscrire est également activée. Enregistrez maintenant votre configuration en cliquant sur Enregistrer.
Vous devriez maintenant pouvoir voir un lien d'inscription dans le coin supérieur droit de la page. Cliquez sur ce lien et remplissez le formulaire pour vous inscrire. Une fois terminé, connectez-vous avec votre compte nouvellement créé.
Revenez aux paramètres de sécurité en cliquant sur Gérer Jenkins, puis en cliquant sur Configurer la sécurité globale. Vous devez désormais décocher les utilisateurs Autoriser à inscrire la case à cocher pour vous assurer qu'aucun nouveau compte ne peut être créé sans votre permission.
Ensuite, nous allons définir l'autorisation. Les meilleures options pour vous sont la sécurité basée sur la matrice ou la stratégie d'autorisation de matrice basée sur des projets. Cela vous permet de définir par utilisateur quelles actions ils peuvent et ne peuvent pas effectuer. Si vous choisissez cette dernière option, vous pourrez même définir ce projet. Pour l'instant, je vais choisir la sécurité basée sur la matrice.
Une table avec des autorisations est maintenant affichée. Vous ne verrez qu'une seule ligne de table dans laquelle vous pouvez définir ce qu'un utilisateur anonyme peut faire. Cependant, nous voulons définir des autorisations pour notre propre compte utilisateur. Alors remplissez votre nom d'utilisateur dans la case ci-dessous et cliquez sur Ajouter. Pour vous assurer que vous avez accès à tout, vous pouvez tous les vérifier.
En fin de compte, c'est à quoi il ressemble.
Remarque: Soyez prudent avec des lettres capitalisées. Peter et Peter sont 2 comptes d'utilisateurs différents, alors assurez-vous de remplir le nom d'utilisateur correct dans les deux cas sinon vous serez verrouillé du système.
Lors de l'enregistrement, vous serez automatiquement déconnecté. Notez que vous ne voyez plus rien à part un formulaire de connexion. Après vous être connecté, vous devriez avoir accès à tout ce comme avant. Si vous obtenez une erreur d'autorisation, vous avez fait une erreur et vous devez soit modifier les paramètres, soit vous êtes verrouillé de Jenkins. Dans ce dernier cas, voir le lien ci-dessus.
Préparation de Jenkins
Jusqu'à présent, nous avons été occupés à installer et à sécuriser Jenkins. Il est maintenant temps de configurer Jenkins afin que nous puissions commencer à construire et à analyser nos projets PHP. Sebastian Bergmann a créé un excellent site Web vous montrant comment configurer Jenkins pour PHP. Nous allons faire les mêmes étapes que documentés, mais dans un ordre légèrement différent.
Installation des plugins
Nous devons d'abord installer plusieurs plugins dans Jenkins. Les plugins sont de petites extensions à Jenkins qui peuvent effectuer des tâches pour vous comme analyser un rapport et la convertir en graphique. Nous aurons besoin de la liste des plugins suivants pour commencer.
- Vérifiez
- Cloverphp
- crap4j
- sec
- htmlpublisher
- JDEPEND
- tracer
- PMD
- violations
- xunit
Nous allons installer ces plugins via l'interface. Si vous vous sentez plus expérimenté ou à l'aise avec la ligne de commande, vous pouvez consulter cette documentation pour voir comment les installer via la ligne de commande. De plus, cette page vous donnera une courte explication sur ce que chaque plugin fera.
dans Jenkins, allez gérer Jenkins puis pour gérer les plugins. Cliquez sur l'onglet nommé disponible. Ici, vous verrez une liste complète de tous les plugins disponibles. Avec le filtre dans le coin supérieur droit, vous pouvez rapidement rechercher chaque plugin. Assurez-vous d'installer la liste complète des plugins mentionnés ci-dessus en vérifiant les cases à cocher.
Vérifiez la case à cocher devant le redémarrage de Jenkins lorsque l'installation est terminée et qu'aucun travail ne fonctionne pour redémarrer Jenkins lorsque tout est fait. Après le redémarrage, tous les plugins requis ont été installés correctement.
Création d'un modèle
Lorsque Jenkins est configuré, nous commençons normalement par créer un projet, parfois appelé travail. Un projet est généralement un projet PHP que vous avez obtenu. Dans un projet, vous aurez plusieurs versions. Vous pouvez configurer Jenkins pour analyser (construire) votre code à certains moments. Cela peut être des intervalles planifiés ou sur les demandes de traction des contributeurs, par exemple. Ainsi, un projet contient plusieurs builds au fil du temps, chacun étant une analyse distincte de votre code. Grâce aux plugins que nous avons installés, vous pourrez voir les résultats de ces versions dans de beaux graphiques. Dans ces graphiques, vous pouvez rapidement repérer si une certaine construction augmentait ou diminuait la qualité de votre projet. Nous pouvons également voir où nous devons améliorer notre code en fonction de tous nos outils.
Nous pourrions maintenant créer un nouveau projet. Cependant, nous devions également configurer ce projet. Par exemple, nous pourrions configurer que chaque phpunit est exécuté, une page de couverture de code doit être créée afin que nous puissions voir quel code est testé et quel code n'est pas testé. Il y a beaucoup de tests que nous devions configurer sur un nouveau projet, et cela prendrait probablement du temps. Heureusement, Sebastian Bergmann a également créé un modèle que nous allons utiliser.
Nous devons ouvrir la ligne de commande pour pouvoir installer ce modèle. Le moyen le plus simple serait de télécharger l'outil CLI que Jenkins a fourni. Le problème est cependant le fait que nous avons sécurisé notre installation Jenkins plus tôt. Cela signifierait que nous devons ouvrir la sécurité à Anonymous ou connecter la clé publique / privée à notre compte.
Dans ce cas, nous optons pour une autre méthode d'installation du modèle. Tout d'abord, connectez-vous en tant qu'utilisateur Jenkins sur la ligne de commande et accédez au répertoire domestique.
<span>sudo apt-get install jenkins</span>
Dans le répertoire domestique, accédez au répertoire des travaux et créez un nouveau répertoire nommé PHP-Template.
<span>wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -</span>
Maintenant, nous allons entrer ce répertoire et ajouter le fichier de configuration.
<span>deb http://pkg.jenkins-ci.org/debian binary/</span>
Maintenant, nous avons besoin de Jenkins pour recharger sa configuration. Vous pouvez le faire en revenant à l'interface Web, cliquez sur Gérer Jenkins et cliquez sur Recharger la configuration à partir du disque. Jenkins rechargera désormais sa configuration. Une fois terminé, vous devriez voir le projet PHP-Template sur la page d'aperçu principale.
Jenkins est maintenant prêt. Nous pouvons créer de nouveaux projets en fonction de ce modèle.
Conclusion
Dans cet article, nous avons installé, sécurisé et préparé Jenkins pour commencer à analyser notre projet PHP. Dans la partie suivante, nous ajouterons notre projet, le préparerons et bien sûr l'analyser.
Questions fréquemment posées (FAQ) sur l'installation et la sécurisation de Jenkins
Quelles sont les meilleures pratiques pour sécuriser Jenkins?
La sécurisation de Jenkins implique plusieurs étapes. Tout d'abord, assurez-vous que Jenkins fonctionne dans son propre compte utilisateur avec des privilèges limités pour minimiser les dommages potentiels en cas de violation de sécurité. Deuxièmement, activez la sécurité dans la section Configurer la sécurité globale et choisissez le domaine de sécurité pour l'authentification. Troisièmement, utilisez la sécurité de sécurité basée sur la matrice ou d'autorisation de matrice basée sur des projets pour l'autorisation. Quatrièmement, assurez-vous que tous les plugins Jenkins et le noyau Jenkins sont toujours à jour. Enfin, sauvegarde régulièrement votre configuration de Jenkins pour éviter la perte de données.
Comment puis-je activer la sécurité dans Jenkins?
pour permettre la sécurité dans Jenkins, naviguer pour gérer Jenkins> Configurer la sécurité globale. Cochez la zone de sécurité Activer. Dans la section Contrôle d'accès, choisissez le domaine de sécurité pour l'authentification. Jenkins fournit plusieurs options, notamment la propre base de données d'utilisateurs de Jenkins, LDAP, et autres.
Quelle est la sécurité basée sur la matrice dans Jenkins?
La sécurité basée sur la matrice est une stratégie d'autorisation dans Jenkins qui permet de spécifier différentes autorisations pour chaque utilisateur ou groupe. Il fournit un contrôle à grain fin sur les actions qu'un utilisateur ou un groupe peut effectuer. Pour l'utiliser, vous devez installer le plugin de stratégie d'autorisation basée sur des rôles.
Comment puis-je garder mes plugins Jenkins et mon noyau à jour?
Jenkins fournit un moyen facile de Mettre à jour les plugins et le noyau. Naviguez pour gérer Jenkins> Gérer les plugins> onglet Mises à jour. Ici, vous pouvez voir les mises à jour disponibles pour vos plugins installés. Pour mettre à jour le noyau Jenkins, allez pour gérer Jenkins> Gérer les plugins> onglet Avancé et cliquez sur le bouton Vérifier maintenant dans la section du site de mise à jour.
Comment puis-je sauvegarder ma configuration Jenkins?
RECLARMAGE La sauvegarde de votre configuration Jenkins est cruciale pour éviter la perte de données. Vous pouvez utiliser le plugin Thinbackup pour sauvegarder votre configuration Jenkins. Il permet de planifier des sauvegardes et de restaurer à partir des sauvegardes.
Comment puis-je limiter les privilèges du compte d'utilisateur Jenkins?
Pour limiter les privilèges du compte d'utilisateur Jenkins, créer un nouveau compte utilisateur spécifiquement pour exécuter Jenkins. Ce compte utilisateur ne devrait pas avoir de privilèges sudo ou être en mesure de se connecter au système.
Quelle est la stratégie d'autorisation matricielle basée sur le projet dans Jenkins?
La stratégie d'autorisation de matrice basée sur le projet est Une extension de la sécurité basée sur la matrice qui permet de spécifier différentes autorisations pour chaque travail. Il fournit un contrôle encore plus fin sur les actions qu'un utilisateur ou un groupe peut effectuer.
Comment puis-je installer le plugin de stratégie d'autorisation basée sur les rôles dans Jenkins?
Pour installer le plugin de stratégie d'autorisation basée sur les rôles, naviguez pour gérer Jenkins> Gérer les plugins> disponibles disponibles. Recherchez le plugin de stratégie d'autorisation basée sur les rôles, sélectionnez-le et cliquez sur le bouton Installer sans redémarrage.
Qu'est-ce que le royaume de sécurité dans Jenkins?
Le royaume de sécurité dans Jenkins est utilisé pour authentification. Il détermine comment les utilisateurs sont authentifiés. Jenkins fournit plusieurs options, notamment la propre base de données d'utilisateurs de Jenkins, LDAP et autres.
Comment puis-je sécuriser Jenkins contre le contrefaçon de demande croisée (CSRF)?
Pour sécuriser Jenkins contre CSRF, Naviguez pour gérer Jenkins> Configurer la sécurité globale. Dans la section de protection CSRF, cochez la case de contrefaçon de demande de surface de prévention du site et choisissez l'émetteur de miettes par défaut.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Dans PHP, Password_Hash et Password_verify Les fonctions doivent être utilisées pour implémenter le hachage de mot de passe sécurisé, et MD5 ou SHA1 ne doit pas être utilisé. 1) Password_hash génère un hachage contenant des valeurs de sel pour améliorer la sécurité. 2) Password_verify Vérifiez le mot de passe et assurez-vous la sécurité en comparant les valeurs de hachage. 3) MD5 et SHA1 sont vulnérables et manquent de valeurs de sel, et ne conviennent pas à la sécurité de mot de passe moderne.

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

PHP est largement utilisé dans le commerce électronique, les systèmes de gestion de contenu et le développement d'API. 1) E-commerce: Utilisé pour la fonction de panier et le traitement des paiements. 2) Système de gestion du contenu: utilisé pour la génération de contenu dynamique et la gestion des utilisateurs. 3) Développement des API: Utilisé pour le développement de l'API RESTful et la sécurité de l'API. Grâce à l'optimisation des performances et aux meilleures pratiques, l'efficacité et la maintenabilité des applications PHP sont améliorées.

Le type PHP invite à améliorer la qualité et la lisibilité du code. 1) Conseils de type scalaire: Depuis PHP7.0, les types de données de base sont autorisés à être spécifiés dans les paramètres de fonction, tels que INT, Float, etc. 2) Invite de type de retour: Assurez la cohérence du type de valeur de retour de fonction. 3) Invite de type d'union: Depuis PHP8.0, plusieurs types peuvent être spécifiés dans les paramètres de fonction ou les valeurs de retour. 4) Invite de type nullable: permet d'inclure des valeurs nulles et de gérer les fonctions qui peuvent renvoyer les valeurs nulles.

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

L'utilisation de déclarations de prétraitement et l'APD dans PHP peut effectivement empêcher les attaques d'injection SQL. 1) Utilisez PDO pour vous connecter à la base de données et définir le mode d'erreur. 2) Créez des instructions de prétraitement via la méthode de préparation et transmettez des données à l'aide des espaces réservés et exécutez des méthodes. 3) Traitez les résultats de la requête et assurez la sécurité et les performances du code.

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.
