Jenkins déploie des projets de microservices

En tant que novice, il a réalisé un projet d'éducation en ligne de Gu Li devant la vidéo. Une fois le test terminé, si vous souhaitez essayer de le déployer sur votre propre serveur cloud, vous n'êtes pas inactif. Plus proche de la maison

  • Introduction
    Dans l'architecture des microservices, avec de plus en plus de services, l'empaquetage et le déploiement des services deviendront une chose plutôt gênante. Par exemple, mon projet edu-online comporte actuellement 10 services à déployer. Existe-t-il un moyen pour nous de le déployer une fois, puis de cliquer sur Exécuter pour le déployer automatiquement ? Bien sûr qu'il y en a! Ci-dessous, nous utilisons Jenkins pour effectuer le travail de déploiement automatisé dans une architecture de microservice.

  • Utilisation de base de Jenkins
    Pour une utilisation de base de Jenkins, veuillez vous référer à Utilisation de Jenkins pour empaqueter et déployer des applications SpringBoot en un seul clic

  • Pré-préparation
    Téléchargez votre projet local dans l'entrepôt distant, installez le plug-in git dans l'idée et configurez git. Pour la configuration de git, vous pouvez vous référer à l' ensemble du processus d'installation et de configuration de Git . Ici, je l'ai téléchargé sur gîte.
    Télécharger le premier plan du projet sur gitee

git pull origin master --allow-unrelated-histories
git add .
git commit -m '提交说明'
git push origin master 
  • Préparation de l'environnement serveur
    1 Installer JDK
    Cet article utilise jdk-8u181-linux-x64.tar.gz
    2 Installer maven
    Cet article utilise apache-maven-3.6.1-bin.tar.gz
    3 Installer nacos
    Cet article utilise l'enregistrement de service et ne ne veux pas connecté à distance, tout est directement sur le serveur. Utilisez nacos-server-1.4.2.tar.gz
    4 pour installer mysql
    comme ci-dessus, similaire au serveur qui ne vaut pas sa vie, de toute façon, il est sur le point d'expirer. Mysql-5.7.36-linux-glibc2.12-x86_64.tar est utilisé
    5 Après avoir installé le nœud
    et déployé le code back-end, organisez la page d'accueil en passant. Utilisation de node-v10.14.2-linux-x64.tar.gz
    6 Installer redis
    Cet article utilise redis-5.0.5.tar.gz. Lorsque j'ai installé tant de choses, puis que je l'ai exécutée en arrière-plan, après l'avoir démarrée, j'ai découvert que la carte était installée et que l'utilisation du processeur était si élevée que lorsque j'ai cliqué sur jenkins pour la déployer, il m'a fallu longtemps à attendre.
    7 Installer httpd
    Certaines versions de Linux ont déjà Apache pré-installé, et c'est déjà un service, donc vérifiez d'abord si le service httpd existe déjà dans le système. Je ne sais pas pourquoi il n'existe pas sur mon serveur de toute façon, alors installez-le. Pour plus de détails, veuillez vous référer à l'installation, la configuration et le service d'Apache (httpd) sous Linux
  • Installation et configuration de Jenkins
    Ici, je suis directement paresseux et économisez des ennuis, téléchargez le package war et exécutez-le directement. Adresse de téléchargement du package War : téléchargez le package War et exécutez-le une fois le travail terminé. Lancer la commande war package
nohup java -jar jenkins.war &

À ce moment, ouvrez l'adresse d'accès du navigateur : http://ip:8080, vous pouvez accéder à jenkins. Lors de votre première connexion, vous devez saisir le mot de passe administrateur, puis créer un utilisateur, installer un plug-in, créer une instance, etc. Ici, je le configure pour la vidéo. Après une série d' installations et de configurations de Jenkins
, je suis arrivé sur cette page. La première fois que je suis entré, il n'y avait rien. J'ai déjà configuré cela.
insérez la description de l'image ici
Il y a un petit problème que j'ai oublié de mentionner ici, c'est-à-dire que lors du déploiement, il peut être suggéré que l'utilisateur root n'est pas recommandé de se déployer, et cela implique des problèmes d'autorisation ou quelque chose du genre. Ensuite, j'ai dit d'ajouter des opérations d'autorisation à l'utilisateur jenkins, etc., je l'ai ignoré et je
les ai toutes téléchargées directement à la racine.

  • Démarrer le déploiement
    Créez d'abord une tâche pour le projet parent. Par défaut, il n'y a pas de projet maven. Si vous souhaitez créer directement maven, vous pouvez d'abord organiser un plug-in, mais vous pouvez également en créer un de style libre, écrivez simplement la commande vous-même.
    Après être entré, configurez l'adresse de l'entrepôt
    insérez la description de l'image ici
    car maven a été ajusté, c'est aussi plus pratique ici, directement
    insérez la description de l'image ici
clean package -Dmaven.test.skip=true

Puis après une longue attente pour télécharger et empaqueter les dépendances. Vous pouvez vérifier la sortie de la console pour les erreurs et apporter des modifications.
insérez la description de l'image iciinsérez la description de l'image ici
J'ai réussi ici.
Ensuite, organisez les modules.La méthode la plus simple utilisée ici n'utilise pas le déploiement de docker dans la vidéo.

BUILD_ID=DONTKILLME
#!/bin/bash
#获取你想运行jar包的进程号
pid=`ps -ef | grep api_gateway-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
#如果存在则把该进程杀掉
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
echo "复制jar包"
#把jenkins打的jar包复制到自己指定的目录下
cp  /root/.jenkins/workspace/edu_parent/infrastructure/api_gateway/target/api_gateway-1.0-SNAPSHOT.jar /usr/mydemo
echo "启动jar包"
#最后启动jar包并把日志输出到指定的文件中以便查看
nohup java -jar /usr/mydemo/api_gateway-1.0-SNAPSHOT.jar > /usr/mydemo/api_gateway.log 2>&1 & 

D'autres modules sont similaires, et ainsi de suite, créez de nouvelles tâches pour tous les modules et construisez-les. Consultez le fichier journal
insérez la description de l'image ici
et déployez enfin le projet de premier plan

#!/bin/bash
pwd
ls

node -v
npm -v
git --version
java -version

echo '构建的版本号:'${
    
    BUILD_NUMBER}
npm install
npm run build
pwd

echo '----- 以上的列出的文件是 jenkin 服务 workspace 中 vue-admin-template-master 目录下的文件-------'

echo "复制dist文件夹"
#把dist文件夹复制到httpd服务器指定的目录下
cd /var/www/html/
#mkdir vue-admin-template-master
cp -r /root/.jenkins/workspace/vue-admin-template-master/dist/* /var/www/html/vue-admin-template-master/
echo "构建完成"

Lorsque le service est en place, vous pouvez y accéder en visitant http://ip/nom du projet.
insérez la description de l'image ici
Ensuite, vous pouvez facilement accéder aux projets que vous avez déployés sur le serveur.

  • Écrit à la fin
    , je suis Xiaobai, qui est sur le point d'obtenir son diplôme, et c'est la première fois que je déploie le projet sur le serveur. Cet article est uniquement pour les enregistrements. S'il y a des omissions ou des manquements, j'espère que vous pourrez me critiquer et me corriger.
    Le Nouvel An chinois approche et la situation épidémique à Anyang est également tendue. Nous avons fait de l'acide nucléique tous les jours pendant 4 jours consécutifs. Je vous souhaite à tous une bonne année à l'avance. J'espère que tout le monde pourra rentrer chez lui en toute sécurité et retrouver leurs familles. , Les salaires augmentent.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44834205/article/details/122458594
conseillé
Classement