Как я могу превратить это в пользовательскую инфраструктуру как конвейер кода? - PullRequest
1 голос
/ 12 октября 2019

У меня есть база данных Source of Truth с уровнем API над ней, который отслеживает, например, подсети, хосты, DNS, распределение хостов и т. Д. Я хотел бы настроить инфраструктуру в виде кодаконвейер, где изменения в файлах yaml в git-репо будут вызывать правильные API.

Например, этот diff вызовет api subnet.post:

+ subnet:
+   cidr: 10.0.0.0/8
+   name: Really big CIDR

И этот diff вызоветthe subnet.delete api:

- subnet:
-   cidr: 10.0.0.0/8
-   name: Really big CIDR

Я думаю:

  • создать репозиторий git с Jenkins
  • Иметь задание Jenkins, которое запрашивает источникистины и сравнивает с объектами в файле yaml
  • , если объекты отсутствуют в файле yaml, удалите их как источник истины
  • , если объекты не находятся в yaml, но не являются источником истинызатем добавьте их

1 Ответ

0 голосов
/ 12 октября 2019

Я не думаю, что мой ответ может охватить весь ваш вариант использования, но в любом случае вот он:

Для запуска Jenkins, когда произошел толчок в хранилище, я рекомендую Generic Webhook Trigger Plugin ,Это очень помогает вам в анализе информации, которую Github / Bitbucket / Gitlab дает вам, когда они запускают ваш конвейер.

Для запроса вы можете просто использовать sh curl ... или взглянуть на HTTP-запросыПлагин

Поиск изменений в YAML можно выполнить вручную, или вы можете использовать changelog , который Jenkins предоставляет в конвейере.

...