Я уже довольно давно работаю с CircleCI, TravisCI и Azure DevOps.
Хотя прекрасно иметь управляемый сервер, который прекрасно интегрируется со всеми внешними службами, о которых вы только можете подумать (VCS, CD-конвейер, магазины приложений и т. д.), одной из моих самых больших проблем является тестирование CI. При настройке таких систем я трачу большую часть времени на настройку и настройку файлов YAML, сценариев Bash и других частей процесса CI, чтобы они работали быстрее и эффективнее. Однако этот процесс медленный: требуется 1-5 минут даже для получения первого сообщения об ошибке о том, что что-то не так, не говоря уже о иногда 1+ часах для финальных сборок.
Вы можете сделать так много локально — имитировать переменные среды, использовать именно тот контейнер и добавлять учетные данные для соответствующих служб. Но это еще не все. Я предполагаю для этого решение с полным спектром услуг, которое заботится о настройке среды точно так же, как в Azure или Travis, включая получение данных из Git на основе конкретного push-уведомления и тому подобное.
Я мог бы заплатить за это хорошие деньги — это сэкономит мне часы каждую неделю ожидания, пока агенты CI закончат и закончат небольшие операторы ls
, pwd
и echo
, просто чтобы понять, где я, черт возьми, нахожусь.
Есть ли что-то подобное?
Изменить: Это хороший пример "утко- лента", которое могло бы быть очень полезным, но не является полноценным. Я ищу что-то подобное, но более надежное.
Редактировать 2: Это плохой пример решения, которое требует, чтобы я делал самую важную часть — зависимости — вручную.
Редактировать 3: Это имеет много интересных опций, в частности использование Chef и travis-cookbooks или бродяга. Пока это самое перспективное направление, хотя, похоже, только для Трэвиса. Может быть, настроить бродячие ящики для каждого типа агента, который у вас есть?
azure-pipelines.yml
и делаю небольшие изменения, а не большие вещи, например, проверяю значения переменных среды на определенных этапах сборки, я не хочу раскручивать сервер CI. Я просто хочу посмотреть, что происходит, и перейти к следующей настройке. - person Tom Granot   schedule 13.06.2019azure-pipelines.yml
, и вы хотите выполнить там только 1 или 2 шага (чтобы проверить)? - person Shayki Abramczyk   schedule 13.06.2019x
не равноy
, и когда вы хотите проверить, вы устанавливаетеx
со значениемy
. - person Shayki Abramczyk   schedule 13.06.2019master
, принципиально не затрагивающее никого, кроме меня, и локальное (дважды, просто чтобы удостоверьтесь, что суть понятна:)) - person Tom Granot   schedule 13.06.2019