Справочник 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:
          <имя_рабочего_процесса>:
        
            tasks:
              - name: <имя_задания>
                
                cubes:
                  - name: <имя_кубика>
                    image: <путь_к_Docker-образу>
                    script:
                      - <выполняемый_скрипт>
        ...
        

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

Пример конфигурации С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-процессах.

См. также