@iron_bug
CI нужен для удобства. Ни всегда цель CI защита от ломания
Мне проще один раз настроить пайп, который будет собирать и деплоить мой код. Прозрачно (для меня). Через год, вернувшись для исправления условного косяка, мне не нужно будет вспоминать как залить и как разложить всё на сервере. Это помнит пайп
И повторюсь, в WoodpeckerCI, буквы CI это просто 2 буквы, т.к. они форкнули DroneCI и видимо решили так оставить. Он умеет как CI, так и CD. И умеет в cron, для запуска периодических задач, которые не связаны с разработкой. Ему можно повесить хоть запускать ansible скрипты для обновления тачек