由ci yaml文件设置的application.properties中的不同连接字符串

时间:2018-04-13 17:53:52

标签: java spring-boot yaml gitlab

我试图找出在我的ci /管道中的spring boot应用程序中的application.properties文件中设置连接字符串的最简洁/最简单的方法。我们正在使用gitlab。我们正在部署两个服务实例,等等。我也很少/没有yaml经验。

所以当前的application.properties有一个值/属性: spring.data.mongodb.uri = mongodb的:// .........

我们的.gitlab-ci.yml看起来像这样:

cache:
  untracked: true
build:
  stage: build
  script: "mvn install -B -DskipTests"
  artifacts:
    paths: 
    - target/*.jar
test:
  script: "mvn test -B"
integration-test:
  script: "mvn failsafe:integration-test failsafe:verify -B"
deploy:
  stage: deploy
  script:
    - scp target/*.jar server:~/deployments/${CI_PROJECT_NAME}.jar
    - ssh -t -t server "sudo systemctl restart ${CI_PROJECT_NAME}"
  environment:
    name: test
  only:
  - master

deploy_demo:
  stage: deploy
  script:
    - "docker build -t server:5000/service ."
    - "docker push server:5000/service"
    - "ssh server 'docker-compose pull service'"
    - "ssh server 'docker-compose up -d service'"
  environment:
    name: test
  when: manual
  only:
  - master

我已经阅读了一些选项,例如添加配置文件等。我只是在寻找让默认构建使用一个连接字符串而deploy_demo作业使用另一个连接字符串的最简单方法。

谢谢, 添

1 个答案:

答案 0 :(得分:0)

我不想让这个打开,我选择创建两个配置文件,并在构建命令中为一个构建设置spring.profiles.active = demo,而对另一个构建使用默认值。感谢mavriksc,信息