Size: a a a

2020 July 08

L

Leo in ru_gitlab
ну либо dependencies, либо needs
источник

L

Leo in ru_gitlab
build:osx:
 stage: build
 script: make build:osx
 artifacts:
   paths:
     - binaries/

build:linux:
 stage: build
 script: make build:linux
 artifacts:
   paths:
     - binaries/

test:osx:
 stage: test
 script: make test:osx
 dependencies:
   - build:osx

test:linux:
 stage: test
 script: make test:linux
 dependencies:
   - build:linux

deploy:
 stage: deploy
 script: make deploy
источник

L

Leo in ru_gitlab
вот пример из доки
источник

SD

Stas Drozdov in ru_gitlab
Maxim
может "needs" подойдет?
https://docs.gitlab.com/ee/ci/yaml/#needs
смотрел, нет
поможет разве что вынести в отдельную репу и сделать свой пайплайн на это дело
источник

SD

Stas Drozdov in ru_gitlab
у меня есть 1 стейдж, который запускается на изменение определенной директории
источник

SD

Stas Drozdov in ru_gitlab
если в репе меняется только эта дира то и запускается только он
источник

SD

Stas Drozdov in ru_gitlab
но бывает так, что меняется не только она и запускается основной пайплайн + возможно этот стейдж и вот он получается последовательно идет со всем пайплайном, а по логике впринципе его насрать когда запускать и можно параллельно всему остальному
источник

SD

Stas Drozdov in ru_gitlab
там маленький кусочек пакера, который лениво выносить в отдельную репу
источник

GG

George Gaál in ru_gitlab
Stas Drozdov
там маленький кусочек пакера, который лениво выносить в отдельную репу
а?
источник

L

Leo in ru_gitlab
Ну заюзай депенденси решит проблему
источник

СГ

Сергей Голод... in ru_gitlab
Stas Drozdov
смотрел, нет
поможет разве что вынести в отдельную репу и сделать свой пайплайн на это дело
источник

SD

Stas Drozdov in ru_gitlab
посмотрю, спасибо!
источник

SD

Stas Drozdov in ru_gitlab
ну имел ввиду в этом стейдже
источник

DB

Dmitrii Barsukov in ru_gitlab
а кто профи в рулзах?
job mongo1:
 stage: mongo
 rules:
   - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
     when: manual
   - if: '$CI_PIPELINE_SOURCE == "push"'
     when: manual
 script:
   - echo mongo1
   - sleep 40

job mongo2:
 stage: mongo
 script:
   - echo mongo2
   - sleep 40

job scripts:
 stage: scripts
when: always
 script:
   - echo scripts
   - sleep 600

джоб scripts ждет выполнения mongo1. если выполнить его через manual - то он запускается, если не выполнить - то не запускается никогда
источник

DB

Dmitrii Barsukov in ru_gitlab
а нужно чтобы запускался всегда
источник

DB

Dmitrii Barsukov in ru_gitlab
если убрать рулзы и поставить вместо них when:manual - работает как ожидается, всегда выполняется
источник

СГ

Сергей Голод... in ru_gitlab
Dmitrii Barsukov
а нужно чтобы запускался всегда
если добавить условие которое будет выполняться всегда, то что происходит?
источник

DB

Dmitrii Barsukov in ru_gitlab
Сергей Голод
если добавить условие которое будет выполняться всегда, то что происходит?
какое?
   - if: '$CI_PIPELINE_SOURCE == "push"'
это выполняется
источник

СГ

Сергей Голод... in ru_gitlab
Dmitrii Barsukov
какое?
   - if: '$CI_PIPELINE_SOURCE == "push"'
это выполняется
любое условие которое вернёт истину. Вы же говорите что нужно чтобы джоба запускалась всегда
источник

СГ

Сергей Голод... in ru_gitlab
Dmitrii Barsukov
а кто профи в рулзах?
job mongo1:
 stage: mongo
 rules:
   - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
     when: manual
   - if: '$CI_PIPELINE_SOURCE == "push"'
     when: manual
 script:
   - echo mongo1
   - sleep 40

job mongo2:
 stage: mongo
 script:
   - echo mongo2
   - sleep 40

job scripts:
 stage: scripts
when: always
 script:
   - echo scripts
   - sleep 600

джоб scripts ждет выполнения mongo1. если выполнить его через manual - то он запускается, если не выполнить - то не запускается никогда
или допишите  - when: always после ваших условий
источник