Получи случайную криптовалюту за регистрацию!

Среди систем непрерывной интеграции высокая конкуренция, они б | Протестировал

Среди систем непрерывной интеграции высокая конкуренция, они борются за пользователя всеми возможными способами: поддержкой редких ОС (типа FreeBSD), какими-то фишками или хорошим "железом". Но несмотря на конкуренцию есть проблема, с которой никто не спешит разбираться. Это vendor lock-in на конфигурацию определённой CI системы. То есть если вы используете Travis CI (не используйте их) и решили переехать на другой сервис или self-hosted систему, то вам надо будет переписать .travis.yml на другом декларативном языке, то есть буквально воссоздать пайплайн с нуля. В некоторых случаях это переписывание с одного YAML на другой YAML. Можно конечно вынести все проектно-зависимые вещи в скрипты (например под каждую операцию: run.sh, build.sh, test.sh, bootstrap.sh) и в конфиге CI вызывать их или все это реализовать в Make/CMake и в конфиге вызывать таргеами, типа make build; make test, но по моему опыта так мало кто делает и к тому же окружение на всех CI немного разное и на Travis CI нужно установить компилятор, а на другом нет и т.д. Все равно вы потратите ощутимое время на переезд с одного CI на другой.

Я уже писал про сервис Cirrus CI, я им пользуюсь потому что там есть поддержка FreeBSD, которая мало где есть, и мне понравилось как они развязали руки своим пользователям. Те, кто использует в своем проекте Cirrus CI, могут запускать пайплайн отдельно от сервиса с помощью их утилиты. Это позволяет при наличии одного конфига запускать локально, на другом CI сервисе или где-то ещё. Круто же!

via