1.介绍
今天领导安排下来一个适配jenkins的任务,简单了解了下jenkins的原理,从git上获取,然后通过maven打包部署。测试是没有cas登录校验的,但生产有。那么思路明确了,通过配置文件判断是否为测试或生产,再通过启动命令去选择运行那个配置文件。
2. @ConditionalOnProperty(name = "Flag", havingValue = "true")解决cas是否生效
1.首先在dev.yml配置文件中新增属性
Flag: false ##生产时为true
2.单独生成一个类放置@EnableCasClient
3.@ConditionalOnProperty(name = "Flag", havingValue = "true")的功能为name的value是否为havingValue的值,若不相同,该@Configuration不生效。
4. Environment和@value,如果还有其它地方生产和配置不一样,但方法中要用,那么我们可以用这两个方法去判断,但要注意的是yml配置文件的优先级低于static静态。
//获取yml全局变量
@Autowired
private Environment env;
3. jenkins配置启动命令
spring:
profiles:
active: dev
##在启动命令后面加spring.profiles.active=test 可以更改其application.yml运行文件
通过配置spring.profiles.active告诉jenkins运行那个yml