у нас есть конвейер CI в нашем хранилище, размещенном в gitlab
мы настраиваем gitlab-runner на нашей локальной машине
трубопровод работает в 4 этапа
сборка
модульные тесты
- интеграционный тест
- тесты качества
весь этот конвейер занимает почти 20 мин
и триггер конвейера при каждом нажатии на ветвь
есть ли способ настроить gitlab-runner, чтобы, если HEAD ветви, на которой работает бегун, изменяет канал
автоматически отменит пробег? потому что важна последняя версия
например, в этом прогоне нижний прогон не нужен
gitlab-ci.yml
stages:
- build
- unit_tests
- unit_and_integration_tests
- quality_tests
build:
stage: build
before_script:
- cd projects/ideology-synapse
script:
- mvn compile
unit_and_integration_tests:
variables:
GIT_STRATEGY: clone
stage: unit_and_integration_tests
only:
- /^milestone-.*$/
script:
- export RUN_ENVIORMENT=GITLAB_CI
- export MAVEN_OPTS="-Xmx32g"
- mvn test
- "cat */target/site/jacoco/index.html"
cache: {}
artifacts:
reports:
junit:
- "*/*/*/target/surefire-reports/TEST-*.xml"
unit_tests:
variables:
GIT_STRATEGY: clone
stage: unit_tests
except:
- /^milestone-.*$/
script:
- export MAVEN_OPTS="-Xmx32g"
- mvn test
- "cat */target/site/jacoco/index.html"
cache: {}
artifacts:
reports:
junit:
- "*/*/*/target/surefire-reports/TEST-*.xml"
quality_tests:
variables:
GIT_STRATEGY: clone
stage: quality_tests
only:
- /^milestone-.*$/
script:
- export RUN_ENVIORMENT_EVAL=GITLAB_CI
- export MAVEN_OPTS="-Xmx32g"
- mvn test
cache: {}
редактировать после комментария @siloko:
Я уже пробую использовать
автоматическая отмена избыточных, ожидающих конвейеров в меню настроек
Я хочу отменить работающие конвейеры и не ожидающие