Получить Git историю в Google Cloud Build Step - PullRequest
0 голосов
/ 08 мая 2020

Я использую Google Cloud Build для запуска CI для моей рабочей области Nx. Вот файл cloudbuild.yaml:

    steps:
      - name: 'gcr.io/cloud-builders/docker'
        id: Test_Affected_Projects
        entrypoint: 'sh'
        args: [
            '-c',
            'docker build --build-arg NPM_TOKEN=$$NPM_TOKEN --file ./test/Dockerfile.test-runner -t mha-test-runner .']
        secretEnv: ['NPM_TOKEN']
    # Remove the docker image
    secrets:
    - kmsKeyName: /path/to/key
      secretEnv:
        NPM_TOKEN: some_key_value

(сейчас есть два шага, но я удалил второй для краткости. Второй шаг просто удаляет созданное изображение docker.)

Теперь команда внутри образа Docker запускает все тесты для рабочей области Nx. Дело в том, что у Nx есть отличная команда, в которой будут тестироваться только затронутые библиотеки. Но для запуска команды должна быть доступна история проекта git.

Я пытался получить историю git в контексте сборки облака, но мне не удалось заставить его работать. Это шаг, который я добавил, чтобы попытаться заставить все работать:

steps:
  - name: 'gcr.io/cloud-builders/git'
    args: ['fetch', '--unshallow']
  - name: 'gcr.io/cloud-builders/docker'
    id: Test_Affected_Projects
    entrypoint: 'sh'
    args: [
        '-c',
        'docker build --build-arg NPM_TOKEN=$$NPM_TOKEN --file ./test/Dockerfile.test-runner -t mha-test-runner .']
    secretEnv: ['NPM_TOKEN']
# Remove the docker image
secrets:
- kmsKeyName: /path/to/key
  secretEnv:
    NPM_TOKEN: some_key_value

Эта новая первая команда, которая должна получить историю git, не работает. В сообщении об ошибке говорится, что это не репозиторий git, поэтому команда не работает.

Мой вопрос: как мне получить историю git в контексте сборки облака, чтобы использовать ее с разными команды в процессе сборки / тестирования?

...