Запуск npm в конвейере собрания

Как я могу добавить в свой конвейер, что он должен захватить репозиторий git, запустить npm install и npm build, а затем отправить в облачный литейный завод ?.

Пока я могу сделать так, чтобы он захватил репозиторий и отправил его в облачный цех. Но не совсем уверен, как сделать так, чтобы он собирал задачи npm. Я использую директора BOSH, чтобы справиться со всеми делами, связанными с залом.

Мы будем очень признательны за любое направление или идеи. Я следую этому руководству здесь и основываю свой конвейер на следующем: (где и как мне подойти для добавления задач сборки npm?)

---
resources:
- name: resource-web-app
  type: git
  source:
    uri: https://github.com/cloudfoundry-community/simple-go-web-app.git

- name: resource-deploy-web-app
  type: cf
  source:
    api: {{cf-api}}
    username: {{cf-username}}
    password: {{cf-password}}
    organization: {{cf-organization}}
    space: {{cf-space}}
    skip_cert_check: true

jobs:
- name: job-deploy-app
  serial: true
  plan:
  - {get: resource-web-app, trigger: true}
  - put: resource-deploy-web-app
    params:
      manifest: resource-web-app/manifest.yml
      path: resource-web-app

https://github.com/starkandwayne/concourse-tutorial/tree/master/15_deploy_cloudfoundry_app


person jedgard    schedule 25.02.2017    source источник


Ответы (1)


Вам необходимо написать задачу, которая запускает сценарий, который запускает npm install и npm build перед отправкой в ​​облако. Литейный завод.

Также важно отметить, что в приведенном ниже собрании сценариев будут искать биты, которые нужно отправить в cf в каталоге resource-deploy-web-app, поэтому обязательно поместите все, что вы хотите отправить туда в своем сценарии.

Итак, ваша новая конфигурация задания будет выглядеть примерно так:

jobs:
- name: job-deploy-app
  serial: true
  plan:
  - {get: resource-web-app, trigger: true}
  - task: build-npm
    config:
      platform: linux
      image_resource:
        type: docker-image
        source:
          repository: node

      inputs:
        - name: resource-web-app

      run:
        path: resource-web-app/scripts/script-that-does-npm-stuff.sh

      outputs:
        - name: resource-deploy-web-app

 - put: resource-deploy-web-app
   params:
      manifest: resource-web-app/manifest.yml
      path: resource-web-app
person Josh Zarrabi    schedule 26.02.2017
comment
Замечательный человек !, спасибо за это, последний вопрос. Наверное, не связаны. С помощью этого конвейера каждый раз, когда я захожу в свой мастер ... он просто отправляется в облачный цех, правильно? - из-за спускового крючка? - person jedgard; 26.02.2017
comment
Да, каждый раз, когда вы нажимаете, чтобы освоить задание, job-deploy-app запустится - person Josh Zarrabi; 26.02.2017
comment
Привет, Джош, для некоторого чтения я получаю отображение значений, недопустимых в этом контексте для строки, где находится - put. - person jedgard; 27.02.2017
comment
У меня параметры были перемещены немного вправо ... поэтому я выровнял его так, как у вас, и я получаю другую ошибку: build-npm не указывает конфигурацию задачи - person jedgard; 27.02.2017
comment
обновление: мне удается запустить его, добавив config: прямо под задачей, но теперь он говорит resource-web-app / scripts / scripts / npmbuild.sh: доступ запрещен. Я добавил пользователя: root ниже пути в соответствии с документацией, но это не имело значения - person jedgard; 27.02.2017
comment
не забудьте запустить chmod + x в скрипте, прежде чем отправлять его на github, github забирает ваши права доступа к файлам - person Josh Zarrabi; 27.02.2017
comment
Также извините за любые ошибки в yaml, которые я вам показал ... рад, что он работает - person Josh Zarrabi; 27.02.2017