Cloudbuild lerna: правильный способ его использования

#docker #continuous-integration #yarnpkg #lerna #google-cloud-build

#docker #непрерывная интеграция #yarnpkg #lerna #google-cloud-build

Вопрос:

Хорошо, я думал, каким должен быть правильный способ развертывания проекта в cloudbuild с использованием lerna, но я пока не понимаю.

Например, я намереваюсь создать что-то вроде этого (псевдо)

 1. docker image: node:8.12.0
2. install lerna
3. lerna bootstrap
4. lerna run build
5. docker build
6. docker push
  

и это то, что у меня есть (не совсем, просто пример):

 - name: node:8.12.0
  args: ["yarn", "add", "-W", "lerna@^3.13.3"]
- name: node:8.12.0
  args: ["yarn", "lerna", "bootstrap"]
- name: node:8.12.0
  entrypoint: 'bash'
  args: ["yarn", "lerna", "run", "build"]
- name: 'gcr.io/cloud-builders/docker'
......
  

это правильный способ сделать это??

Ответ №1:

Вероятно, вам лучше иметь свой собственный файл Dockerfile и создавать его в облачной сборке. Я ничего не знаю о lerna но традиционный dockerfile был бы чем-то вроде этого:

 # Dockerfile
FROM node:8.12.0
WORDKIR /app
ADD package.json yarn.lock ./
RUN yarn install
ADD . .
RUN yarn lerna bootstrap 
    amp;amp; yarn lerna run build
  

затем просто вызовите docker build по мере необходимости

 # cloudbuild.yaml
steps:
- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '.']