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 taches 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 taches 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 taches 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. Grace 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

Undress AI Tool
Images de déshabillage gratuites

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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à 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

ToseCurelyHandleAuthentication andAuthorizationInPhp, suivitheSesteps: 1.AlwayShashPasswordSwithPassword_Hash () etverifyusingPassword_verify (), usePreparedStatementStopReventsQLendiject, andstoreSerDatain $ _SessionAfterLogin.2

Pour gérer en toute sécurité les téléchargements de fichiers dans PHP, le noyau consiste à vérifier les types de fichiers, à renommer les fichiers et à restreindre les autorisations. 1. Utilisez finfo_file () pour vérifier le type de mime réel, et seuls des types spécifiques tels que l'image / jpeg sont autorisés; 2. Utilisez Uniqid () pour générer des noms de fichiers aléatoires et les stocker dans le répertoire racine non Web; 3. Limiter la taille du fichier via les formulaires PHP.ini et HTML et définir les autorisations de répertoire sur 0755; 4. Utilisez Clamav pour scanner les logiciels malveillants pour améliorer la sécurité. Ces étapes empêchent efficacement les vulnérabilités de sécurité et garantissent que le processus de téléchargement de fichiers est s?r et fiable.

En PHP, la principale différence entre == et == est la rigueur de la vérification des types. == La conversion de type sera effectuée avant la comparaison, par exemple, 5 == "5" Renvoie True, et === Demande que la valeur et le type soient les mêmes avant que True sera renvoyé, par exemple, 5 === "5" Renvoie False. Dans les scénarios d'utilisation, === est plus sécurisé et doit être utilisé en premier, et == n'est utilisé que lorsque la conversion de type est requise.

Les méthodes d'utilisation des opérations mathématiques de base en PHP sont les suivantes: 1. Les signes d'addition prennent en charge les entiers et les nombres à virgule flottante, et peuvent également être utilisés pour les variables. Les numéros de cha?ne seront automatiquement convertis mais non recommandés en dépendances; 2. Les signes de soustraction utilisent - les signes, les variables sont les mêmes et la conversion de type est également applicable; 3. Les panneaux de multiplication utilisent * les panneaux, qui conviennent aux nombres et aux cha?nes similaires; 4. La division utilise / signes, qui doit éviter de diviser par zéro, et noter que le résultat peut être des nombres à virgule flottante; 5. Prendre les signes du module peut être utilisé pour juger des nombres impairs et uniformes, et lors du traitement des nombres négatifs, les signes restants sont cohérents avec le dividende. La clé pour utiliser correctement ces opérateurs est de s'assurer que les types de données sont clairs et que la situation limite est bien gérée.

Oui, PHP peut interagir avec les bases de données NoSQL comme MongoDB et Redis à travers des extensions ou des bibliothèques spécifiques. Tout d'abord, utilisez le pilote MongoDBPHP (installé via PECL ou Composer) pour créer des instances clients et faire fonctionner des bases de données et des collections, en prenant en charge l'insertion, la requête, l'agrégation et d'autres opérations; Deuxièmement, utilisez la bibliothèque Predis ou l'extension PHPREDIS pour vous connecter à Redis, effectuer des paramètres et des acquisitions de valeur clé, et recommander PHPredis pour des scénarios à haute performance, tandis que Predis est pratique pour un déploiement rapide; Les deux conviennent aux environnements de production et sont bien documentés.

TostayCurrentwithPhpDevelopments andBestPractices, suiventyewnewsources likephp.netandphpweekly, engagewithcommunitiesonforumums et conférences, keeptoolingupdated etgradualadoptnewfeatures, etreadorontruttetoopensourceprojects.

PhpBecamepopularforwebDevelopmentDuetoitSeaseOflearning, Samoussentegration withhtml, widespreadhostingsupport, andalargecosystemysteclustingframeworkslikeLaravelandcmsplateformeslikewordpress.itexcelSinlingFormSubMissions, ManagetingSeSeSessions, interactif, interactif

Tosetherighttimezoneinphp, usedate_default_timezone_set () Fonctionnellestartofyourscriptwithavalididentifiersuchas'america / new_york'.1.usedate_default_timezone_set () beforeanydate / timefunctions.20
