Пользовательский филиал — Pre -Push Git Hook
Процесс сборки CI будет вызван пользователем pre-push Git крюк. В конце каждой сборки статус конвейера CI будет отображаться в репозитории GIT (если хотите, вы даже можете остановить изменение кода пользователя, если процесс CI не удастся 🛑)
Основная филиал — после слияния
Если пользовательский ветвь или запрос на вытягивание равен ✅, мы можем использовать API GitHub или BitBucket для объединения запроса кода/вытягивания. После объединения PR мы можем запустить автоматический конвейер CI на главной/главной ветви.
Как запустить несколько параллельных конвейеров CI с Docker
Сначала мы должны знать, как создать частные подсчеты с помощью Docker Engine. В Docker вы можете создать несколько мостовых сетей. Контейнеры, подключенные к одной и той же пользовательской мостовой сети, могут эффективно разрешать друг друга. Использование пользовательской сети обеспечивает сеть областей, в которой только контейнеры, прикрепленные к этой сети, способны общаться.
Docker Engine позволяет создавать несколько сетей. Пример: мы хотим максимум 254 параллельных трубопроводов CI с макс 126 контейнеры Для каждой сети.
Конфигурация Docker будет:
- «Подсеть»: «172.20.x.0/24»,//172.20.x.1 — 172.20.x.254
- «Iprange»: «172.20.x.0/25»,//172.20.x.1 — 172.20.x.126
- «Gateway»: «172.20.x.12»
где 1
Конфигурация одной сети:
const availableNetwork = 1; const networkConfig = { "Subnet": `172.20.${availableNetwork}.0/24`, "IPRange": `172.20.${availableNetwork}.0/25`, "Gateway": `172.20.${availableNetwork}.12` } const networkOption = { "Name": networkName, "Driver": "bridge", "Labels": { "name": networkLabel }, "IPAM": { "Config": [networkConfig] } }
Статья Часть 1: GIT Hooks и Docker для непрерывной интеграции — Часть 1
Проверьте Localci: localci.io
Оригинал: «https://dev.to/simone_a/git-hooks-and-docker-for-continuous-integration-part-2-54jb»