【问题标题】:Travis-CI: deploy different branches to different serversTravis-CI:将不同的分支部署到不同的服务器
【发布时间】:2016-09-15 08:17:22
【问题描述】:

目前我正在尝试使用 github 存储库和 Travis-CI 来设置持续集成的概念项目。

My.travis.yml 看起来像这样

language: java
jdk:
- oraclejdk8
before_cache:
- rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- "$HOME/.gradle/caches/"
- "$HOME/.gradle/wrapper/"
branches:
 only:
 - master
 - develop

deploy:
 provider: cloudfoundry
 api: https://api.eu-gb.bluemix.net
 username: j.cuppen@acuity.nl
 password:
  secure: [key]
 organization: 'Acuity\ Stagiairs'
 space: 'stage\ job'
 on:
  repo: JasonLighthunter/GradleTest
  branch: develop

我的 manifest.yml 看起来像这样:

---
applications:
- name: gradleweb
  memory: 512M
  host: gradleTest
  path: build/libs/GradleTest.war

目前,当我推动开发时,它会构建并部署到 gradleTest.eu-gb.mybluemix.net

我想弄清楚的是如何配置 travis,以便在将 master 推送到时将其部署到,比如说:gradleProd.eu-gb.mybluemix.net

提前致谢

【问题讨论】:

    标签: git deployment continuous-integration travis-ci cloud-foundry


    【解决方案1】:

    您可以为每个部署指定manifest 文件。将您的 .travis.yml 更改为:

    deploy:
      - provider: cloudfoundry
        edge: true
        username: ${CF_USERNAME}
        password: ${CF_PASSWORD}
        organization: ${CF_ORGANIZATION}
        space: ${CF_SPACE}
        api: https://api.ng.bluemix.net/
        manifest: manifest.master.yml
        on:
          branch: master
      - provider: cloudfoundry
        edge: true
        username: ${CF_USERNAME}
        password: ${CF_PASSWORD}
        organization: ${CF_ORGANIZATION}
        space: ${CF_SPACE}
        api: https://api.ng.bluemix.net/
        manifest: manifest.develop.yml
        on:
          branch: develop
    

    在这种情况下,您可以添加两个文件:manifest.develop.ymlmanifest.master.yml

    【讨论】:

      猜你喜欢
      • 2019-05-12
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      相关资源
      最近更新 更多