Grait项目的GitLab-CI

时间:2015-10-09 15:28:15

标签: grails gitlab gitlab-ci gitlab-ci-runner

我转到GitLab并使用随附的所有工具。 我在带有Tomcat的CentOs7上安装了GitLab v8.0.4。我创建了一个项目并将grails示例推送到git项目。 现在,我希望能够在每次将文件推送到项目时启动部署。在jenkis中,我能够拉动项目,使用grails cmd工具编译它,并将战争部署到Tomcat。 我试图做同样的事情,但我真的感到迷茫。有人从来没有试过这个,可以告诉我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果部署脚本与项目本身位于同一个存储库中,则可以拥有构建阶段和部署阶段。如果构建阶段成功,它将开始部署阶段。 .gitlab-ci.yml可能如下所示:

stages:
  - build
  - deploy

build_grails:
  stage: build
  script:
  - build-script_of_grails_cmd

deploy_to_tomcat:
  stage: deploy
  script:
  - deploy_script_with_capistrano_or_whatever

如果您的部署代码位于另一个项目中,则可以在构建阶段完成时触发此项目以启动部署。部署存储库应该具有触发器设置。这可以在部署项目的持续集成菜单中完成。设置触发器后,GitLab会生成一个触发卷曲片段,您可以将其粘贴到yml文件中。 grails app gitlab-ci.yml将如下所示:

stages:
  - build
  - deploy

build_grails:
  stage: build
  script:
  - build-script_of_grails_cmd

trigger:
  type: deploy
  script:
    - curl -X POST -F token=4579a6f10c51f0a4b7bdbd384f6e53 https://gitlab-comewhere.com/ci/api/v1/projects/5/refs/master/trigger

部署项目中的gitlab-ci.yml将如下所示:

stages:
  - deploy

deploy_to_tomcat:
  stage: deploy
  script:
  - deploy_script_with_capistrano_or_whatever