Maison >développement back-end >tutoriel php >Docker+LNMP+Jenkins+Code Cloud réalise le déploiement automatique du code PHP
Le déploiement automatisé (intégration continue/CI + livraison continue/CD) est une tendance dans le développement de logiciels et constitue une aide précieuse dans le développement et l'avancement de DevOps. La pratique actuelle est basée sur Docker+Jenkins+LNMP + code cloud pour réaliser le processus de déploiement automatisé du code PHP.
Configuration de l'environnement
Système d'exploitation : CentOS Linux version 7.6.1810
Version Docker : 19.03.5
Version Jenkins : 2.204.1
Version Nginx : 1.15.5
Version PHP : 7.2.26
Version MySQL : 8.0.18
Version Redis :5.0.5
Code Cloud : Code Warehouse
Code Cloud Warehouse Préparation
Créer un entrepôt de projet
Préparation Jenkins
Installer le plug-in ssh
Parce que la construction du projet nécessite l'exécution de certaines commandes shell sur le serveur, utilisez donc la méthode de connexion ssh pour communiquer avec le serveur distant.
1. Gestion du système->Gestion des plug-ins
2. Rechercher : ssh, installez-le
Nouvelle tâche de projet
Le nom de la tâche ne peut pas être en chinois, choisissez le premier : Projet personnalisé du projet Freestyle
Configuration des tâches d'ingénierie
1. Sélection de la gestion du code source : git
2. URL du référentiel : adresse de l'entrepôt (la mienne est l'entrepôt du cloud de code)
3. Sélectionnez Ajouter des informations d'identification4. Ajouter des informations d'identification5. Configurez la clé privée de l'entrepôt (pour plus de détails, veuillez consulter l'aide sur la gestion des clés d'entrepôt de Code Cloud). Une fois les informations d'identification configurées avec succès, sélectionnez simplement le nom d'utilisateur configuré à l'étape précédente. Si vous vous connectez avec succès à l'adresse de l'entrepôt, aucune erreur ne sera signalée. Sélection du déclencheur de construction : déclencheur de hook Github pour l'interrogation GITScm Environnement de construction : utiliser un ou plusieurs textes secrets ou fichier(s) //Transférer des fichiers en privé Identifiants : sélectionnez les informations d'identification spécifiées gitConfigurer ssh
1. Gestion du système -> Configuration du système2. Configurer les informations relatives au serveur distant SSHConfigurer le script shell de construction
Build : Exécuter le script shell sur l'hôte distant à l'aide de ssh //Exécuter le script shell du serveur distant lors de la construction1 Remplissez le site SSH //Serveur distant ssh. Connexion2. Commande //script shellRemarque : Parce que le code est automatiquement déployé dans le répertoire de l'espace de travail de jenkins et que le répertoire du site du projet est dans /data / www, donc lors de la construction, vous devez copier le fichier de code mis à jour sur le site du projet (il existe de nombreuses façons de l'implémenter. J'utilise une copie du code ici car la taille du code ne prend pas beaucoup de place . De nos jours, de nombreuses ressources statiques sont placées sur certains services cloud) J'ai utilisé des connexions logicielles au début, mais parce que nginx ne prend pas en charge l'accès aux connexions logicielles. Une fois la configuration terminée, cliquez sur EnregistrerCode Cloud Code Push
Modifiez le code dans l'entrepôt du cloud de code, puis soumettez le PR à la branche principaleConstruction manuelle des tâches de déploiement
Cliquez sur Créer manuellement pour réaliser un déploiement automatisé de code
Remarques :
Aussi peut être configuré pour construire automatiquement directement après avoir surveillé git push (il est recommandé de le faire dans l'environnement de test)
Cliquer sur la construction manuellement permet une meilleure gestion (il est recommandé de le faire dans l'environnement de production)
Si la construction de la tâche échoue, il y aura un message d'erreur et une marque rouge // très pratique à gérer
Visitez le site Web
Une fois la tâche de déploiement automatisé créée avec succès, visitez notre projet pour voir la modification effet
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!