Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
spring-cloud__spring-cloud-config_CVE-2020-5410_2-1-8-RELEASE — Servidor de configuración centralizado para sistemas distribuidos con API HTTP, almacenamiento respaldado por Git, cifrado/descifrado de propiedades e integración con Vault, JDBC y sistemas de archivos locales. | Kitploit
Herramientas/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-config_cve-2020-5410_2-1-8-release
Autenticación y AutorizaciónHerramientas de Cifrado/DescifradoAuditoría de ConfiguraciónSeguridad en la NubeDevSecOpsSeguridad de APIs
GitHubshoucheng3/spring-cloud__spring-cloud-config_cve-2020-5410_2-1-8-release

spring-cloud__spring-cloud-config_CVE-2020-5410_2-1-8-RELEASE

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Servidor de configuración centralizado para sistemas distribuidos con API HTTP, almacenamiento respaldado por Git, cifrado/descifrado de propiedades e integración con Vault, JDBC y sistemas de archivos locales.

Ver Repositorio
hace 1 añoAún no revisado

NO EDITAR ESTE ARCHIVO. FUE GENERADO. Los cambios manuales a este archivo se perderán cuando se genere de nuevo. Edite los archivos en el directorio src/main/asciidoc/ en su lugar.

image::https://circleci.com/gh/spring-cloud/spring-cloud-config/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-config/tree/master"] image::https://codecov.io/gh/spring-cloud/spring-cloud-config/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-config/branch/master"] image::https://api.codacy.com/project/badge/Grade/f064024a072c477e97dca6ed5a70fccd?branch=master["Codacy code quality", link="https://www.codacy.com/app/Spring-Cloud/spring-cloud-config?branch=master&utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-config&utm_campaign=Badge_Grade"]

Spring Cloud Config proporciona soporte del lado del servidor y del cliente para la configuración externalizada en un sistema distribuido. Con el Config Server, tienes un lugar central para gestionar propiedades externas para aplicaciones en todos los entornos. Los conceptos tanto en el cliente como en el servidor se asignan idénticamente a las abstracciones Spring Environment y PropertySource, por lo que encajan muy bien con aplicaciones Spring pero pueden usarse con cualquier aplicación que se ejecute en cualquier lenguaje. A medida que una aplicación avanza por el pipeline de despliegue desde desarrollo a pruebas y hasta producción, puedes gestionar la configuración entre esos entornos y estar seguro de que las aplicaciones tienen todo lo necesario para ejecutarse cuando migran. La implementación predeterminada del backend de almacenamiento del servidor usa git, por lo que soporta fácilmente versiones etiquetadas de entornos de configuración, además de ser accesible para una amplia gama de herramientas para gestionar el contenido. Es fácil añadir implementaciones alternativas y conectarlas con la configuración de Spring.

== Características

=== Spring Cloud Config Server

Spring Cloud Config Server ofrece los siguientes beneficios:

  • API basada en recursos HTTP para configuración externa (pares nombre-valor o contenido YAML equivalente)
  • Cifrar y descifrar valores de propiedades (simétrico o asimétrico)
  • Embutible fácilmente en una aplicación Spring Boot usando @EnableConfigServer

=== Spring Cloud Config Client

Específicamente para aplicaciones Spring, Spring Cloud Config Client te permite:

  • Vincularse al Config Server e inicializar el Environment de Spring con fuentes de propiedades remotas.
  • Cifrar y descifrar valores de propiedades (simétrico o asimétrico).
  • @RefreshScope para @Beans de Spring que deseen ser reinicializados cuando la configuración cambie.
  • Usar endpoints de gestión: ** /env para actualizar el Environment y re-vincular @ConfigurationProperties y niveles de log. ** /refresh para refrescar los beans @RefreshScope. ** /restart para reiniciar el contexto de Spring (deshabilitado por defecto). ** /pause y /resume para llamar a los métodos Lifecycle (stop() y en el ).

== Inicio rápido

Este inicio rápido recorre el uso tanto del servidor como del cliente de Spring Cloud Config Server.

Primero, inicia el servidor, de la siguiente manera:


$ cd spring-cloud-config-server $ ../mvnw spring-boot:run

El servidor es una aplicación Spring Boot, por lo que puedes ejecutarlo desde tu IDE si lo prefieres (la clase principal es ConfigServerApplication).

A continuación prueba un cliente, de la siguiente manera:


$ curl localhost:8888/foo/development {"name":"foo","label":"master","propertySources":[ {"name":"https://github.com/scratches/config-repo/foo-development.properties","source":{"bar":"spam"}}, {"name":"https://github.com/scratches/config-repo/foo.properties","source":{"foo":"bar"}} ]}

La estrategia predeterminada para localizar fuentes de propiedades es clonar un repositorio git (en spring.cloud.config.server.git.uri) y usarlo para inicializar un mini SpringApplication. El Environment de la mini-aplicación se usa para enumerar fuentes de propiedades y publicarlas en un endpoint JSON.

El servicio HTTP tiene recursos en la siguiente forma:


/{application}/{profile}[/{label}] /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.properties /{label}/{application}-{profile}.properties

donde application se inyecta como spring.config.name en el SpringApplication (lo que normalmente es application en una aplicación Spring Boot normal), profile es un perfil activo (o lista separada por comas de propiedades), y label es una etiqueta git opcional (por defecto master).

Spring Cloud Config Server obtiene configuración para clientes remotos de varias fuentes. El siguiente ejemplo obtiene configuración de un repositorio git (que debe ser proporcionado), como se muestra en el siguiente ejemplo:

[source,yaml]

spring: cloud: config: server: git: uri: https://github.com/spring-cloud-samples/config-repo

Otras fuentes son cualquier base de datos compatible con JDBC, Subversion, Hashicorp Vault, Credhub y sistemas de archivos locales.

=== Uso del lado del cliente

Para usar estas características en una aplicación, puedes construirla como una aplicación Spring Boot que dependa de spring-cloud-config-client (por ejemplo, consulta los casos de prueba para config-client o la aplicación de muestra). La forma más conveniente de añadir la dependencia es con un starter Spring Boot org.springframework.cloud:spring-cloud-starter-config. También hay un pom padre y BOM (spring-cloud-starter-parent) para usuarios de Maven y un archivo de propiedades de gestión de versiones de Spring IO para usuarios de Gradle y Spring CLI. El siguiente ejemplo muestra una configuración típica de Maven:

[source,xml,indent=0] .pom.xml

root@kitploit:~
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>{spring-boot-docs-version}</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId>
			<version>{spring-cloud-version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-config</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

<build>
	<plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
	</plugins>
</build>

<!-- repositories also needed for snapshots and milestones -->

Ahora puedes crear una aplicación Spring Boot estándar, como el siguiente servidor HTTP:


@SpringBootApplication @RestController public class Application {

root@kitploit:~
@RequestMapping("/")
public String home() {
    return "Hello World!";
}

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}

}

Cuando este servidor HTTP se ejecuta, recoge la configuración externa del config server local por defecto (si está en ejecución) en el puerto 8888. Para modificar el comportamiento de inicio, puedes cambiar la ubicación del config server usando bootstrap.properties (similar a application.properties pero para la fase bootstrap de un contexto de aplicación), como se muestra en el siguiente ejemplo:


spring.cloud.config.uri: http://myconfigserver.com

Por defecto, si no se establece un nombre de aplicación, se usará application. Para modificar el nombre, se puede añadir la siguiente propiedad al archivo bootstrap.properties:


spring.application.name: myapp

NOTA: Al establecer la propiedad ${spring.application.name}, no prefijes el nombre de tu aplicación con la palabra reservada application- para evitar problemas al resolver la fuente de propiedades correcta.

Las propiedades bootstrap aparecen en el endpoint /env como una fuente de propiedades de alta prioridad, como se muestra en el siguiente ejemplo.


$ curl localhost:8080/env { "profiles":[], "configService:https://github.com/spring-cloud-samples/config-repo/bar.properties":{"foo":"bar"}, "servletContextInitParams":{}, "systemProperties":{...}, ... }

Una fuente de propiedades llamada ```configService:/contiene la propiedadfoocon un valor debar` y es de la prioridad más alta.

NOTA: La URL en el nombre de la fuente de propiedades es el repositorio git, no la URL del config server.

=== Aplicación de muestra

Puedes encontrar una aplicación de muestra https://github.com/spring-cloud/spring-cloud-config/tree/master/spring-cloud-config-sample[aquí]. Es una aplicación Spring Boot, por lo que puedes ejecutarla usando los mecanismos habituales (por ejemplo, mvn spring-boot:run). Cuando se ejecuta, busca el config server en http://localhost:8888 (un valor predeterminado configurable), por lo que también puedes ejecutar el servidor para verlo todo funcionando junto.

La muestra tiene un caso de prueba donde el config server también se inicia en la misma JVM (con un puerto diferente), y la prueba afirma que una propiedad de entorno del repositorio de configuración git está presente. Para cambiar la ubicación del config server, puedes establecer spring.cloud.config.uri en bootstrap.yml (o en propiedades del sistema y otros lugares).

El caso de prueba tiene un método main() que ejecuta el servidor de la misma manera (observa los logs para ver su puerto), por lo que puedes ejecutar todo el sistema en un solo proceso y jugar con él (por ejemplo, puedes ejecutar el método main() en tu IDE). El método main() usa target/config como directorio de trabajo del repositorio git, por lo que puedes hacer cambios locales allí y verlos reflejados en la aplicación en ejecución. El siguiente ejemplo muestra una sesión de experimentación con el caso de prueba:


$ curl localhost:8080/env/sample mytest $ vi target/config/mytest.properties .. change value of "sample", optionally commit $ curl localhost:8080/refresh ["sample"] $ curl localhost:8080/env/sample sampleValue

El endpoint refresh informa que la propiedad "sample" ha cambiado.

== Construcción

:jdkversion: 1.7

=== Compilación y pruebas básicas

Para construir el código fuente necesitarás instalar JDK {jdkversion}.

Spring Cloud usa Maven para la mayoría de actividades relacionadas con la construcción, y deberías poder empezar bastante rápido clonando el proyecto que te interesa y escribiendo


$ ./mvnw install

NOTA: También puedes instalar Maven (>=3.3.3) tú mismo y ejecutar el comando mvn en lugar de ./mvnw en los ejemplos siguientes. Si haces eso, también podrías necesitar añadir -P spring si tu configuración local de Maven no contiene declaraciones de repositorio para artefactos de prelanzamiento de Spring.

NOTA: Ten en cuenta que podrías necesitar aumentar la cantidad de memoria disponible para Maven estableciendo una variable de entorno MAVEN_OPTS con un valor como -Xmx512m -XX:MaxPermSize=128m. Intentamos cubrir esto en la configuración de .mvn, por lo que si encuentras que tienes que hacerlo para que una construcción tenga éxito, por favor abre un ticket para que se añadan las configuraciones al control de fuentes.

Para obtener pistas sobre cómo construir el proyecto, mira en .travis.yml si existe. Debería haber un comando "script" y quizás "install". También mira la sección "services" para ver si algún servicio necesita ejecutarse localmente (p. ej., mongo o rabbit). Ignora las partes relacionadas con git que puedas encontrar en "before_install" ya que están relacionadas con establecer credenciales de git y ya las tienes.

Los proyectos que requieren middleware generalmente incluyen un docker-compose.yml, por lo que considera usar https://docs.docker.com/compose/[Docker Compose] para ejecutar los servidores middleware en contenedores Docker. Consulta el README en el https://github.com/spring-cloud-samples/scripts[repositorio de demostración de scripts] para instrucciones específicas sobre los casos comunes de mongo, rabbit y redis.

NOTA: Si todo falla, construye con el comando de .travis.yml (normalmente ./mvnw install).

=== Documentación

El módulo spring-cloud-build tiene un perfil "docs", y si lo activas, intentará construir fuentes asciidoc desde src/main/asciidoc. Como parte de ese proceso, buscará un README.adoc y lo procesará cargando todos los includes, pero sin analizarlo ni renderizarlo, solo copiándolo a ${main.basedir} (por defecto ${basedir}, es decir, la raíz del proyecto). Si hay cambios en el README, aparecerán después de una construcción de Maven como un archivo modificado en el lugar correcto. Solo haz commit y push del cambio.

=== Trabajar con el código Si no tienes preferencia de IDE, te recomendamos que uses https://www.springsource.com/developer/sts[Spring Tools Suite] o https://eclipse.org[Eclipse] al trabajar con el código. Usamos el plugin de eclipse https://eclipse.org/m2e/[m2eclipse] para soporte de Maven. Otros IDEs y herramientas también deberían funcionar sin problemas siempre que usen Maven 3.3.3 o superior.

==== Importar en eclipse con m2eclipse Recomendamos el plugin de eclipse https://eclipse.org/m2e/[m2eclipse] al trabajar con eclipse. Si aún no tienes m2eclipse instalado, está disponible desde el "eclipse marketplace".

NOTA: Las versiones antiguas de m2e no soportan Maven 3.3, por lo que una vez que los proyectos se importen en Eclipse, también necesitarás indicar a m2eclipse que use el perfil correcto para los proyectos. Si ves muchos errores relacionados con los POMs en los proyectos, verifica que tienes una instalación actualizada. Si no puedes actualizar m2e, añade el perfil "spring" a tu settings.xml. Alternativamente, puedes copiar la configuración del repositorio del perfil "spring" del pom padre en tu settings.xml.

==== Importar en eclipse sin m2eclipse Si prefieres no usar m2eclipse, puedes generar metadatos de proyecto eclipse usando el siguiente comando:

[indent=0]

root@kitploit:~
$ ./mvnw eclipse:eclipse

Los proyectos eclipse generados se pueden importar seleccionando import existing projects desde el menú file.

=== JCE

Si obtienes una excepción debido a "Illegal key size" y estás usando el JDK de Sun, necesitas instalar los archivos de política de jurisdicción de fuerza ilimitada de Java Cryptography Extension (JCE). Consulta los siguientes enlaces para más información:

https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html[Java 6 JCE]

https://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html[Java 7 JCE]

https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html[Java 8 JCE]

Extrae los archivos JCE en la carpeta JDK/jre/lib/security para la versión de JRE/JDK x64/x86 que uses.

== Contribuir

:spring-cloud-build-branch: master

Spring Cloud se publica bajo la licencia Apache 2.0 no restrictiva, y sigue un proceso de desarrollo de Github muy estándar, usando el rastreador de Github para incidencias y fusionando pull requests en master. Si deseas contribuir incluso con algo trivial, no dudes en hacerlo, pero sigue las pautas a continuación.

=== Firmar el Acuerdo de Licencia del Colaborador Antes de aceptar un parche o pull request no trivial, necesitaremos que firmes el https://cla.pivotal.io/sign/spring[Acuerdo de Licencia del Colaborador]. Firmar el acuerdo del colaborador no otorga derechos de commit al repositorio principal, pero significa que podemos aceptar tus contribuciones, y recibirás crédito como autor si lo hacemos. Los contribuyentes activos podrían ser invitados a unirse al equipo central, y se les dará la capacidad de fusionar pull requests.

=== Código de Conducta Este proyecto se adhiere al https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc[código de conducta] de Contributor Covenant. Al participar, se espera que cumplas con este código. Por favor, reporta comportamientos inaceptables a [email protected].

=== Convenciones de Código y Mantenimiento Ninguno de estos es esencial para un pull request, pero todos ayudan. También se pueden añadir después del pull request original pero antes de una fusión.

  • Usa las convenciones de formato de código del Spring Framework. Si usas Eclipse, puedes importar la configuración de formato usando el archivo eclipse-code-formatter.xml del proyecto https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring Cloud Build]. Si usas IntelliJ, puedes usar el https://plugins.jetbrains.com/plugin/6546[Plugin Eclipse Code Formatter] para importar el mismo archivo.
  • Asegúrate de que todos los archivos .java nuevos tengan un comentario de clase Javadoc simple con al menos una etiqueta @author que te identifique, y preferiblemente al menos un párrafo sobre para qué sirve la clase.
  • Añade el comentario de cabecera de licencia ASF a todos los archivos .java nuevos (copia de archivos existentes en el proyecto)
  • Añádete como @author a los archivos .java que modifiques sustancialmente (más que cambios cosméticos).
  • Añade algunos Javadocs y, si cambias el espacio de nombres, algunos elementos XSD doc.
  • Algunas pruebas unitarias también ayudarían mucho -- alguien tiene que hacerlo.
  • Si nadie más está usando tu rama, por favor haz rebase contra el master actual (u otra rama objetivo en el proyecto principal).
  • Al escribir un mensaje de commit, por favor sigue https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[estas convenciones], si estás corrigiendo una incidencia existente, añade Fixes gh-XXXX al final del mensaje de commit (donde XXXX es el número de incidencia).

=== Checkstyle

Spring Cloud Build viene con un conjunto de reglas checkstyle. Puedes encontrarlas en el módulo spring-cloud-build-tools. Los archivos más notables bajo el módulo son:

.spring-cloud-build-tools/

└── src    ├── checkstyle    │   └── checkstyle-suppressions.xml <3>    └── main    └── resources    ├── checkstyle-header.txt <2>    └── checkstyle.xml <1>

<1> Reglas Checkstyle predeterminadas <2> Configuración de cabecera de archivo <3> Reglas de supresión predeterminadas

==== Configuración de Checkstyle

Las reglas de Checkstyle están deshabilitadas por defecto. Para añadir checkstyle a tu proyecto, simplemente define las siguientes propiedades y plugins.

.pom.xml

true <1> true <2> true <3> <4> io.spring.javaformat spring-javaformat-maven-plugin <5> org.apache.maven.plugins maven-checkstyle-plugin
root@kitploit:~
<reporting>
    <plugins>
        <plugin> <5>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
        </plugin>
    </plugins>
</reporting>
---- <1> Falla la construcción ante errores de Checkstyle <2> Falla la construcción ante violaciones de Checkstyle <3> Checkstyle analiza también las fuentes de prueba <4> Añade el plugin Spring Java Format que reformateará tu código para pasar la mayoría de las reglas de formato de Checkstyle <5> Añade el plugin checkstyle a tus fases de construcción e informes

Si necesitas suprimir algunas reglas (p. ej., la longitud de línea necesita ser mayor), entonces es suficiente con que definas un archivo en ${project.root}/src/checkstyle/checkstyle-suppressions.xml con tus supresiones. Ejemplo:.projectRoot/src/checkstyle/checkstyle-suppresions.xml

----

Es recomendable copiar ${spring-cloud-build.rootFolder}/.editorconfig y ${spring-cloud-build.rootFolder}/.springformat a tu proyecto. De esa manera, se aplicarán algunas reglas de formato predeterminadas. Puedes hacerlo ejecutando este script:```bash $ curl https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/.editorconfig -o .editorconfig $ touch .springformat

root@kitploit:~
=== Configuración del IDE

==== Intellij IDEA

Para configurar Intellij, debes importar nuestras convenciones de codificación, perfiles de inspección y configurar el plugin checkstyle.
Los siguientes archivos se pueden encontrar en el proyecto https://github.com/spring-cloud/spring-cloud-build/tree/master/spring-cloud-build-tools[Spring Cloud Build].

.spring-cloud-build-tools/
----
└── src
    ├── checkstyle
    │   └── checkstyle-suppressions.xml <3>
    └── main
        └── resources
            ├── checkstyle-header.txt <2>
            ├── checkstyle.xml <1>
            └── intellij
                ├── Intellij_Project_Defaults.xml <4>
                └── Intellij_Spring_Boot_Java_Conventions.xml <5>
----
<1> Reglas predeterminadas de Checkstyle
<2> Configuración del encabezado del archivo
<3> Reglas de supresión predeterminadas
<4> Valores predeterminados del proyecto para Intellij que aplican la mayoría de las reglas de Checkstyle
<5> Convenciones de estilo del proyecto para Intellij que aplican la mayoría de las reglas de Checkstyle

.Estilo de código

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-code-style.png[Estilo de código]

Ve a `File` -> `Settings` -> `Editor` -> `Code style`. Allí haz clic en el icono junto a la sección `Scheme`. Luego, haz clic en el valor `Import Scheme` y elige la opción `Intellij IDEA code style XML`. Importa el archivo `spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml`.

.Perfiles de inspección

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-inspections.png[Estilo de código]

Ve a `File` -> `Settings` -> `Editor` -> `Inspections`. Allí haz clic en el icono junto a la sección `Profile`. Luego, haz clic en `Import Profile` e importa el archivo `spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml`.

.Checkstyle

Para que Intellij funcione con Checkstyle, debes instalar el plugin `Checkstyle`. También es recomendable instalar `Assertions2Assertj` para convertir automáticamente las aserciones de JUnit

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-checkstyle.png[Checkstyle]

Ve a `File` -> `Settings` -> `Other settings` -> `Checkstyle`. Allí haz clic en el icono `+` en la sección `Configuration file`. Allí, tendrás que definir de dónde se tomarán las reglas de checkstyle. En la imagen de arriba, hemos seleccionado las reglas del repositorio clonado de Spring Cloud Build. Sin embargo, puedes apuntar al repositorio de GitHub de Spring Cloud Build (por ejemplo, para `checkstyle.xml`: `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml`). Necesitamos proporcionar las siguientes variables:

- `checkstyle.header.file` - apunta al archivo `spring-cloud-build-tools/src/main/resources/checkstyle-header.txt` de Spring Cloud Build, ya sea en tu repositorio clonado o mediante la URL `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt`.
- `checkstyle.suppressions.file` - supresiones predeterminadas. Apunta al archivo `spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` de Spring Cloud Build, ya sea en tu repositorio clonado o mediante la URL `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml`.
- `checkstyle.additional.suppressions.file` - esta variable corresponde a supresiones en tu proyecto local. Por ejemplo, si estás trabajando en `spring-cloud-contract`. Luego apunta a la carpeta `project-root/src/checkstyle/checkstyle-suppressions.xml`. Un ejemplo para `spring-cloud-contract` sería: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`.

IMPORTANTE: Recuerda establecer el `Scan Scope` como `All sources` ya que aplicamos las reglas de checkstyle tanto para los fuentes de producción como de prueba.
Descargar herramienta
start()
ApplicationContext
  • Contexto de aplicación Bootstrap: un contexto padre para la aplicación principal que puede ser entrenado para hacer cualquier cosa (por defecto, se vincula al Config Server y descifra valores de propiedades).