Как я могу издеваться над агентом / сервером CI? - PullRequest
2 голосов
/ 05 июня 2019

Я работаю с CircleCI, TravisCI и Azure DevOps уже довольно давно.

Хотя хорошо иметь управляемый сервер, который прекрасно интегрируется со всеми внешними сервисами, о которых вы только можете подумать (VCS, конвейер CD, магазины приложений и т. Д.), Одна из моих самых больших проблем - это тестирование на CI. При настройке таких систем я трачу большую часть своих дней на настройку и настройку файлов YAML, сценариев Bash и других частей процесса CI, чтобы они работали быстрее и эффективнее. Однако этот процесс медленный: требуется 1-5 минут, чтобы даже получить первое сообщение об ошибке, что что-то не так, не говоря уже о 1+ часах для окончательных сборок.

Вы можете делать только так много локально - макетировать переменные среды, использовать точно нужный контейнер и добавлять учетные данные для соответствующих служб. Но это не совсем там , просто пока. Для этого я предполагаю решение с полным набором услуг, которое заботится о настройке среды точно так же, как в Azure или Travis, включая получение данных из Git на основе конкретного push-запроса и т. П.

Я мог бы заплатить хорошие деньги за это - это сэкономит мне часы каждую неделю, пока агенты КИ будут вращаться и заканчивать маленькие операторы ls, pwd и echo, чтобы просто выяснить, где черт возьми, я.

Есть ли что-то подобное там?

Редактировать: Этот является хорошим примером решения «утиная лента», которое может быть полезным, но не полноценным. Я ищу что-то подобное, но более надежное.

Редактировать 2: Этот является плохим примером решения, которое требует от меня самой важной части - зависимостей - вручную.

Редактировать 3: У этого есть много интересных опций, в частности использование Chef и travis-cookbooks или vagrant . Пока это самое перспективное направление, хотя, похоже, только для Трэвиса. Может быть, установить бродяги коробки для каждого типа агента у вас есть

...