Справочник CI/CD

Конфигурация CI/CD задается для конкретного репозитория и хранится в файле .sourcecraft/ci.yaml.

Общий вид конфигурационного файла .sourcecraft/ci.yaml:

on:
  pull_request:
    - workflows: [<список_рабочих_процессов>]
      filter:
        source_branches: [<список_исходных_веток>]
        target_branches: [<список_целевых_веток>]
        paths: [<список_путей>]

  push:
    - workflows: [<список_рабочих_процессов>]
      filter:
        branches: [<список_веток>]
        paths: [<список_путей>]
    - workflows: [<список_рабочих_процессов>]
      filter:
        tags: [<список_тегов>]

workflows:
  <имя_рабочего_процесса>:

    tasks:
      - name: <имя_задания>
        
        cubes:
          - name: <имя_кубика>
            image: <путь_к_Docker-образу>
            script:
              - <выполняемый_скрипт>
...

Совет

Для файла .sourcecraft/ci.yaml поддерживаются вывод структуры файла, поиск деклараций и мест использования элементов. Подробнее см. на странице Навигация и поиск по коду в SourceCraft.

Вы можете использовать вложенную структуру для элементов конфигурации или разметить их в виде отдельных блоков.

Пример конфигурации СI/CD в виде отдельных блоков
on:
  pull_request:
    - workflows: my-test-workflow
      filter:
        source_branches: ["**", "!test**"]
        target_branches: "main"

workflows:
  my-test-workflow:
    tasks:
      - my-test-task

tasks:
  - name: my-test-task
    cubes:
      - name: my-test-cube
        image: docker.io/library/node
        script:
          - echo Hello, world!

В конфигурационном файле поддерживается использование секретов. Подробнее см. в разделе Использовать значение секрета в CI/CD.

Полную спецификацию файла .sourcecraft/ci.yaml см. в репозитории templates в SourceCraft.

Важно

Скоро перестанет поддерживаться хранение конфигурации CI/CD, правил ревью кода и политик веток в едином файле .src.ci.yaml в корне репозитория. Используйте отдельные файлы .sourcecraft/ci.yaml, .sourcecraft/review.yaml и .sourcecraft/branches.yaml.

В справочнике представлено описание следующих элементов конфигурации:

Также в справочнике содержится перечень предопределенных переменных окружения, которые вы можете использовать в своих CI/CD-процессах.

См. также