Explication détaillée de l'échafaudage d'initialisation à ressort

Il y a quelque temps, dans l'article "Basé sur start.spring.io, j'ai réalisé la personnalisation de l'échafaudage Java", j'ai décrit le passé et le présent du processus d'échafaudage de microservices de notre entreprise, et mentionné la version 2.0 de l'échafaudage basée sur spring initializr . Aujourd'hui, je prévois de partager avec vous le processus de mise en œuvre et les détails.Le projet a été open source sur Github.

start-parent:https://github.com/studeyang/start-parent

étoile de bienvenue

1. Présentation de la structure du projet

Le projet est divisé en trois parties : initializr, start-client et start-site. Les parties importantes sont décrites ci-dessous.

start-parent
  |- initializr                    代码生成
    |- initializr-actuator
    |- initializr-bom
    |- initializr-docs
    |- initializr-generator         生成基础工程代码
    |- initializr-generator-spring  生成 spring 工程代码
    |- initializr-generator-test    单元测试的封装
    |- initializr-generator-zebra   生成 zebra 分层架构
    |- initializr-metadata          工程元数据(pom 相关定义)
    |- initializr-parent
    |- initializr-service-sample
    |- initializr-version-resolver  版本解析
    |- initializr-web
  |- start-client                   脚手架前端
  |- start-site                     脚手架后端

J'ai simplifié le diagramme de dépendance entre les projets, comme indiqué ci-dessous.

graphique de dépendance

Après avoir compris la situation globale du projet, veuillez suivre mon fil conducteur et construire le projet ensemble.

2. Intégrez Gitlab

Si vous souhaitez utiliser la fonction "Créer un projet" dans le projet, vous devez configurer cette étape. Ici, je gitlab.comle prends comme exemple pour présenter comment terminer l'intégration avec Gitlab.

Tout d'abord, nous devons laisser Gitlab faire confiance à notre application pour effectuer le saut d'autorisation de connexion suivant. Configurez l'application d'échafaudage sur la plateforme Gitlab.

Ajouter des applications

Ici, j'ai configuré l'URI de redirection de l'environnement de développement local. Si vous avez besoin de déployer sur le serveur ultérieurement, vous devez configurer l'adresse principale du serveur d'échafaudage.

ID d'application

Une fois la configuration terminée, Gitlab enregistre notre application et attribue l'ID et le secret de l'application. Nous devons configurer les valeurs de ces deux champs dans le fichier application.yml du site de démarrage :

security:
  base-url: https://gitlab.com
  authorization-uri: ${
    
    security.base-url}/oauth/authorize
  token-uri: ${
    
    security.base-url}/oauth/token
  user-info-uri: ${
    
    security.base-url}/api/v4/user
  redirect-uri: http://127.0.0.1:8081/oauth/redirect
  client-id: gitlab client id
  client-secret: gitlab client secret
  admin:
    name: your gitlab admin username
    password: your gitlab admin password

Ici, je présente brièvement les champs pertinents, autorisation-uri, jeton-uri, utilisateur-info-uri Ces trois champs sont fixes et n'ont pas besoin d'être configurés.

  • base-url : si vous utilisez gitlable projet de gestion, base-urlvous pouvez le définir sur l'adresse que vous avez construitegitlab ;
  • redirect-uri : l'adresse de redirection après l'authentification gitlab, le backend est utilisé ici pour recevoir la redirection, car la redirection portera des paramètres de code, évitant l'exposition au navigateur et améliorant la sécurité ;
  • client-id : ID d'application attribué par gitlab ;
  • client-secret : secret attribué par gitlab ;
  • admin.name : compte gitlab, utilisé pour créer un projet et soumettre le code initial du projet, il est recommandé de configurer un compte administrateur ;
  • admin.password : mot de passe du compte gitlab ;

3. Ajouter des composants

Ajoutez ensuite les dépendances des composants. Ici, je prends casslog-spring-boot-starterle package Jar comme exemple. Si le composant ne prend en charge que certaines versions de SpringBoot, vous pouvez configurer compatibility-range, par exemple :

compatibility-range: "[1.4.2.RELEASE,1.5.7.RELEASE]"

La configuration complète est la suivante.

initializr:
  dependencies:
    - name: 开源基础设施
      bom: kmw
      repository: my-rep
      content:
        - name: Casslog
          id: casslog
          groupId: io.github.studeyang
          artifactId: casslog-spring-boot-starter
          description: 日志工具类
          starter: true
          compatibility-range: "[1.4.2.RELEASE,1.5.7.RELEASE]"
          links:
            - rel: guide
              href: {
    
    用户手册}
              description: Example 快速开始
            - rel: reference
              href: {
    
    参考文档}

Configurez les dépendances.

  • "name" Le nom de la catégorie de dépendance du composant, par exemple : infrastructure open source
  • bibliothèque de gestion des packages de dépendance "bom" dans cette catégorie
  • "repository" Le référentiel des packages dépendants de cette catégorie
  • package de dépendance spécifique "contenu"

Configurez le contenu.

  • "name" dépend du nom du package
  • "id" dépend de l'identifiant unique du package (utilisé dans le code)
  • "groupId" dépend du package groupId
  • "artifactId" dépend de l'artefact ID du package
  • "description" dépend de la description du paquet
  • Si "starter" est spring-boot-starter
  • La version de springboot dont dépend la "gamme de compatibilité"
  • Documentation du composant "liens"

Le diagramme d'effet configuré est le suivant.

Les composants ajoutent des rendus

4. Déployer l'application

Ensuite, l'échafaudage peut être déployé sur le serveur.

Voici un rappel, pensez à changer l'uri de redirection de Gitlab vers l'adresse du serveur de scaffolding.

4.1 Étape 1 : Présentation du projet

# 打包前端工程
cd {
    
    projectRoot}/start-client
sh ../mvnw install

# 打包 initializr 项目
cd {
    
    projectRoot}/initializr
sh ../mvnw clean install -Dmaven.test.skip=true

# 打包 start-site
cd {
    
    projectRoot}/start-site
sh ../mvnw clean install -Dmaven.test.skip=true

4.2 Étape 2 : Créer une image Docker

cd {
    
    projectRoot}/start-site
docker build -t start-site:0.0.1 .

Exécutez simplement le miroir. Le diagramme d'effet est le suivant.

Interface principale de l'échafaudage

5. La bonne posture d'utilisation d'un échafaudage

5.1 Gérer et utiliser des documents via HELP.md

Le lien de document configuré dans le processus de "3. Ajout de composants" sera affiché dans le fichier HELP.md, comme indiqué ci-dessous :

AIDE.md

5.2 Enregistrer/partager le projet

Le projet que vous avez configuré peut être enregistré via la fonction "Partager...".

partager

5.3 Utilisation de l'échafaudage dans IDEA

Le projet peut être rapidement créé dans IDEA, il suffit de configurer l'adresse du serveur d'échafaudage. Il convient de noter que la version communautaire d'IDEA n'a pas cette fonction.

IDÉE

résumé

Cet article vous présente le processus de construction de l'échafaudage Spring Initializr. Si vous rencontrez des problèmes au cours de ce processus, vous pouvez soumettre un PROBLÈME ou me laisser un message en arrière-plan du compte officiel "Student Yang technotes".

Je suppose que tu aimes

Origine blog.csdn.net/yang237061644/article/details/128067907
conseillé
Classement