我有两个分支:测试。当我推送到master分支时,我的代码由gitlab-ci部署到第一台服务器。每当我推送到测试分支时,我都希望部署到其他服务器。使用Gitlab CI可以做到吗?

  • 主站-10.10.10.1
  • 测试-10.10.10.2

  • 我的 gitlab-ci.yml :
    maven_build:
    script:
        - mvn install
        - /opt/payara41/bin/./asadmin --passwordfile /home/asadminpass --user admin undeploy myApplication-ear-1.0-SNAPSHOT
        - sudo /etc/init.d/glassfish restart
        - /opt/payara41/bin/./asadmin --passwordfile /home/asadminpass --host localhost --user admin deploy --force /home/gitlab-runner/builds/10b25461/0/myapp/myAppPrototype/myApp-ear/target/myApplication-SNAPSHOT.ear
    
    only:
        - master
    

    最佳答案

    您使用only:在正确的轨道上。

    只需创建两个不同的步骤,一个步骤使用only: master,另一个步骤使用only: test
    更改script:以部署到其他服务器。

    deploy_master:
      script:
        - <script to deploy to master server>
      only:
        - master
    
    deploy_test:
      script:
        - <script to deploy to test server>
      only:
        - test
    

    关于continuous-integration - Gitlab CI多个分支,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49569253/

    10-16 22:41