我的开发人员团队希望使用单个GIT仓库来存储多个微服务,因为只更新一个仓库更方便.
不幸的是,我发现所有Jenkins管道文献总是在一个只有一个微服务的仓库的根部显示一个Jenkins文件.
如果我们考虑以下git存储库结构:
MyProject
¦-> Microservice1
¦ ¦-> src/main/java/...
¦ ¦-> src/main/docker/Dockerfile
¦
¦-> Microservice2 (etc.)
¦-> Microservice3 (etc.)
¦
...
¦-> Jenkinsfile
Run Code Online (Sandbox Code Playgroud)
如何在jenkinsfile中检测哪些Microservices项目已更新,以便仅在这些项目上执行de pipeline?
我有一个公开休息服务的 Spring Boot Web 应用程序。
我问自己如何正确管理过滤器上的配置文件。实际上,我的应用程序有 2 个配置文件:dev 和 prod(你猜它代表什么......)
在产品模式下,我比开发模式下有更多的过滤器需要激活。
我的过滤器配置类如下:
@Configuration
public class FiltersConfig {
@Bean
public FilterRegistrationBean filterRegistrationBean(CompositeFilter compositeFilter){
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setDispatcherTypes(EnumSet.allOf(DispatcherType.class));
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.setFilter(compositeFilter);
return filterRegistrationBean;
}
@Bean
@Profile("dev")
public CompositeFilter devCompositeFilter(){
CompositeFilter compositeFilter = new CompositeFilter();
List<Filter> filtersList = new ArrayList<>();
//filtersList.add(filter1());
compositeFilter.setFilters(filtersList);
return compositeFilter;
}
@Bean
@Profile("prod")
public CompositeFilter prodCompositeFilter(){
CompositeFilter compositeFilter = new CompositeFilter();
List<Filter> filtersList = new ArrayList<>();
//filtersList.add(filter1());
compositeFilter.setFilters(filtersList);
return compositeFilter;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是: