2015-10-09 6 views
1

Я перехожу к GitLab и использую все его инструменты, которые поставляются вместе с ним. Я установил GitLab v8.0.4 на мой CentOs7 с Tomcat. Я создаю проект и подталкиваю пример grails к проекту git. Теперь я хочу, чтобы каждый раз, когда я нажимал файл в проект, я запускал развертывание. В jenkis мне удалось вытащить проект, скомпилировать его с помощью инструмента grails cmd и развернуть войну с Tomcat. Я пытаюсь сделать то же самое, но я действительно чувствую себя потерянным. Кто-нибудь никогда не пробовал этого и не мог показать мне, как это сделать?GitLab-CI для проекта grails

ответ

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 приложение 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 
Смежные вопросы