aleksandr.vodyanov 9046f994f1 DO-63/Waydroid_build (#1)
+ Added jobs-dsl and gitea events
Co-authored-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech>
Co-committed-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech>
2023-09-25 12:01:22 +00:00
2023-09-25 12:01:22 +00:00
2023-09-25 12:01:22 +00:00
2023-09-25 12:01:22 +00:00

Jenkins pipelines

Репозиторий с пайплайнами Avroid


Джобы в репозитории должны соответствовать той же ирархии каталогов что и в Jenkins.

├── jobs-dsl
│   ├── folders
│   │   └── Docker.groovy
│   ├── jobs
│   │   └── Docker
│   │   └── build_docker_image.groovy
│   └── views
│       └── devops.groovy
└── pipelines
    └── Docker
        └── build_docker_image.groovy

На изображении выше показана иерархия рабочих каталогов:
Каталог jobs-dsl содержит в себе 3 каталога folders, jobs, views.
В каждом из них содержиться описание сущностей jenkins.

Далее идет каталог pipelines, в нем содержаться рабочии пайплайны.

После создания джобы pipeline, необходимо добавить job dsl в директории jobs-dsl


jenkins-job-dsl

Репозиторий для реализации методологии IaC для управления задачами в Jenkins
c использованием плагина Job DSL
Ссылка на локальную документацию.

Джобы dsl должны называться через "_" пробелы и "-" запрещены, потому что у job dsl проблемы с парсингом.


Триггер джобы jobs-dsl

Джоба jobs-dsl вызывается через джобу jobs-runner, которая в свою очередь вызывается по webhook из gitea.


WebHook job

В репозитории есть джоба которая запускает другие джобы в зависомости от условий.

Джоба имеет следующий мапинг

Map projects = [
    // при такой конфигурации будет запускаться только одна джоба с проекта 'devops/jenkins-pipeline-shared-lib'
    // из мастер ветки. Можно добавлять сюда еще и другие ветки.
    'devops/jenkins-pipeline-shared-lib': [
        'branches': ['master'],
        'jobs': ['Docs/create_shared_libs_docs']
    ],
    // при такой конфигурации будет запускаться только одна джоба с проекта 'antiq/tsnative' на любой ветке
    'antiq/tsnative': [
        'branches': [],
        'jobs': ['gitea-events/add-git-tags-to-jira']
    ]
]
Description
No description provided
Readme 186 KiB
Languages
Groovy 100%