Зал слияния другой ветви

Я пытаюсь автоматизировать развертывание с помощью Concourse-CI.

У меня есть приложение go, которое зарегистрировано в локальном Gitlab с двумя ветвями (master и development).

У меня есть конвейерная настройка для ветви разработки, которая запускает иди модульные тесты, и если они проходят, я хочу автоматически объединить изменения из ветви разработки в главную ветку и пометить ее последней версией.

Вот что у меня так далеко:

jobs:
- name: run-unit-tests
  public: true
  plan:
  - get: source-master
  - get: source
    trigger: true
  - put: discord
    params:
      channel: "((channel_id))"
      color: 6076508
      title: Concourse CI
      message: |
        Starting Unit tests for manageGameData
  - task: task-unit-tests
    file: source/ci/tasks/task-unit-tests.yml
    on_success:
      do:
        - put: discord
          params:
            channel: "((channel_id))"
            color: 6076508
            title: Concourse CI
            message: |
              All Unit tests passed for manageGameData
        - put: version
          params: 
            bump: minor
        - get: version
        - put: source-master
          params:
            merge: source
            repository: source-master
            tag: version/number

Проблема в том, что это только помечает основную ветку новой версией.

Есть ли способ объединить развивающую ветку с мастером?

1 ответ

Я думаю, что сначала я не понимал документацию, но ответ был довольно прост.

- get: source-master
- get: source
- put: source-master
  params:
    repository: source

Сначала вам нужно освоить и развить обе ветви в этом случае. Затем вы отправляете исходное локальное хранилище (папку на рабочий стол) в мастер, используя put.

Нет необходимости в параметре слияния, и у меня был неправильный параметр репозитория.

Надеюсь, это поможет кому-то еще.

В качестве альтернативы вы можете использовать только сценарии для более сложных команд git.

 platform: linux

image_resource:
  type: docker-image
  source:
    repository: concourse/buildroot
    tag: git
    run:
      path: /bin/bash
      args:
      - -c
      - |
        set -eux

    git clone https://user:passw@devstack.vwgroup.com/bitbucket/scm/~user/kub-api-debug.git

    git config --global user.name "UserName"

    git config --global user.email "email@accenture.com"

    git checkout master

    git merge hotfix
Другие вопросы по тегам