Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


GitLab простые примеры rules


GitLab простые примеры rules

rules — параметр job, определяющий условия включения или исключения ее из pipeline


rules:if - параметр задает условие, при котором job включается в pipeline

Поддерживаются регулярные выражения =~ и !~, выражение должно быть заключено в косые черты /

Условия могут быть с логическими операторами && и || или, допускаются математические () скобки

Пример уссловия, срабатывающего для ветки с определенным названием

job1:
  script: 
    - echo "job for dev branch"
  rules:
    - if: $CI_COMMIT_BRANCH == "dev"

job2:
  script:
    - echo "job for non dev branch"
  rules:
    - if: $CI_COMMIT_BRANCH != "dev"

job3:
  script:
    - echo "job for master/* branches"
  rules:
    - if: $CI_COMMIT_BRANCH =~ /master\/(.*)/

job4:
  script:
    - echo "job for main branch or version v1.*"
  rules:
    - if: $CI_COMMIT_BRANCH == "main" && $VERSION =~ /^v1.*$/


rules:changes - запуск при изменениях

Пример условия - проверяет, были изменены, добавлены, удалены файлы в директориях 

job1:
  script: 
    - echo "job for changes in dir"
  rules:
    - changes:
        - dir/*
        - dir/**/*


rules:exists - запуск, если существует

Пример - указанные файлы существуют - job запустится

job1:
  script: 
    - echo "job for exist dir/test.txt file"
  rules:
    - exists:
        - dir/test.txt


rules:when - условие, когда job выполнится

Условия:
on_success — при успешном завершении предыдущих стадий
on_failure — при сбое предыдущих стадий
always — независимо от статуса стадий
manual — требует ручного запуска
never — job не запустится никогда

Пример, которая требуется ручной запуск job при пуше в main ветку

job1:
  script:
    - echo "This job requires manual startup on the main branch."
  rules:
    - if: $CI_COMMIT_BRANCH == "main"
      when: manual


rules:needs

needs - от каких jobs зависит выполняемая job, будет ждать завершения указанных в needs

Пример с дополнительным условием if со значением переменной

stages:
  - build
  - test

job1:
  stage: build
  script:
    - echo "job1"

job2:
  stage: test
  script:
    - echo "job2"
  rules:
    - if: $VARIABLE == "foo"
      needs:
        - job1

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект