Как только я с ним знакомился ....
Существующие бесплатные планы для начинающих и разработка приложений для Android будут прекращены 1 марта 2018 г.
Мы почти наверняка потеряем поддержку этого проекта. Пора найти новый CI. Какие-либо предложения?
Я читаю эту статью, которая предлагает:
Я читал о Buildkite и AppCenter в Hacker News.
Я также рассматриваю самостоятельные решения с открытым исходным кодом, чтобы подобное не повторилось:
Хотите выбрать другой вариант с самостоятельным размещением - TeamCity (https://www.jetbrains.com/teamcity)?
Обычно очередь заданий CircleCI для проектов с открытым исходным кодом намного менее загружена, чем TravisCI.
Мои 0,02 доллара от управления некоторыми репозиториями RxSwiftCommunity.
Трэвис - абсолютный мусор (или стал со временем).
Очередь невыносима и замедляет разработку (ожидание 50-минутной сборки 90-х недопустимо), а настройка довольно раздражает.
Мы медленно, но верно перемещаем большинство репозиториев в CirlceCI и остались очень довольны этим. Очередь действительно быстрая и честная, а конфигурация относительно проста.
Также слышал много хорошего о Bitrise в этом смысле.
Очень жаль BB, будет интересно следить за ним, потому что я не думаю, что Apple убьет его - но да
Имеет опыт работы со старой версией Jenkins, в качестве инструмента, на который она определенно способна, но потребует довольно много обслуживания / настройки и в искусстве поддерживать открытость и совместную работу, вероятно, не самое лучшее, честно говоря
Кроме того, если мы обратимся к другому «крупному» провайдеру, мы рискуем, что его просто захватит другая фирма, играющая в монополию.
Я бы хотел попробовать Bitrise, мои 2 цента
Я явно предвзят;) но с App Center такого не случится.
Пожалуйста, свяжитесь с нами, если вы заинтересованы.
cc @Palleas
Отправлено с помощью GitHawk
Https://Buildozer.io поддерживает как iOS, так и Android. (раскрытие: я один из его основателей)
Мы использовали CircleCI во всех проектах Artsy iOS, которым требуется Mac для CI - очереди OSS не были такой проблемой, как Трэвис.
Я провел целый день, пробуя Bitrise и App Center. Пока что они не выглядят такими простыми в использовании и волшебными, как BuddyBuild ...
Я счастлив за команду BB (и горжусь тем, что тоже нахожусь в Ванкувере), но очень зол как пользователь ...
BuddyBuild был одним из тех сервисов, которые просто работают, почти не нуждаясь в настройке.
Мне очень понравилось, как работает Buddybuild. Я и раньше устал от Circle CI, но есть некоторые вещи, на которые стоит обратить внимание: он использует Fastlane для подписи и развертывания в тестовом полете, автоматическая подпись не может использоваться. нужно использовать "Вручную"
Я нашел время, чтобы поболтать с
Проверьте https://buildkite.com/, они предлагают бесплатную учетную запись для OSS
Огромный поклонник bitrise здесь. Мы часто используем это с нашим решением https://www.appaloosa-store.com/
@sregg, что именно у вас не работало в Центре приложений? Я был бы рад помочь со всем, что касается сборки.
Например, @derpixeldan , интеграция со Slack выполняется вручную с использованием веб-перехватчиков, а не только с помощью флажка с BB. Кроме того, нет возможности начать номер сборки с указанного номера (т.е. моего текущего номера сборки на BB). Наконец, подписание приложения iOS выглядело не так просто, как BB (я думаю, что я дал им только свое имя пользователя и пароль Apple ID, и они автоматически управляли сертификатом и подготовкой)
Я технический менеджер в Microsoft по сборке центра приложений. У нас отличная команда, которая каждую неделю вносит улучшения, и мы стремимся к многоплатформенной поддержке.
@sregg отличная обратная связь, и я думаю, что улучшения во всех этих областях находятся в нашей очереди.
Также не стесняйтесь писать мне в Твиттере по адресу https://twitter.com/0xlukekim с любыми проблемами / проблемами / отзывами.
Я должен сказать, что был очень впечатлен Центром приложений, главным образом в "мета" смысле:
Не имею достаточного опыта, но вроде тоже достойный конкурент :)
Всем привет, я Виктор из https://www.bitrise.io (технический директор и соучредитель).
Всем спасибо за рекомендацию, это очень много значит для нашей команды!
Просто хотел сказать привет 👋 и убедиться, что мы, конечно, слушаем, не стесняйтесь пинговать нас в любое время через любой из наших каналов поддержки, и я буду рад ответить на любые ваши вопросы здесь!
Ха-ха, я думаю, мы можем начать войну ставок прямо сейчас 😄
Мой GitHawk выносит все ИТ на свой двор 🤓
Также есть https://buddy.works. Я не пользовался их услугами, поэтому сложно сказать, хороши ли они. У них определенно крутое имя; P
Я перешел с BuddyBuild на Bitrise (нам действительно нужно одно место для iOS и Android). Это потребовало некоторого чтения документации, а также некоторых репозиториев git шага, но все прошло довольно гладко, заняло около дня наряду с другими делами.
@sregg Просто упомяну, что мы используем шаг «Adjust BuildNumber» до + = 640, так как мы использовали его для versionCode
и выполняли автоматическое развертывание с BB.
Ключевые различия, которые я обнаружил с Bitrise по сравнению с BuddyBuild (кроме того, что почти все, что в BB основано на графическом интерфейсе пользователя), заключались в разделении сборки Gradle на несколько этапов. BuddyBuild (возможно, более эффективно) построит все, что вы просите, а затем вытащит соответствующий материал для, скажем, электронных писем о развертывании или публикации в Play Store, с Bitrise у вас есть несколько вариантов, которые я мог видеть: 1. разделить его на несколько шагов сборки / Gradle, например, для тестов UI / Android, для ваших тестовых сборок [2x3 = 6 вариантов для нас], один для артефактов развертывания в App / Play Store, с некоторыми этапами очистки между ними (например, я меняю папку развертывания после на предотвращать отправку электронных писем там, где недостаточно фильтров) ... или 2. быть комфортным с сценарием bash и иметь шаг сценария, который разбивает переменные ENV карты каналов, чтобы их было легче использовать на более поздних этапах.
Также было бы неплохо иметь больше примеров, установив в сообщениях резервирования что-то вроде тех, которые BB отправлял по умолчанию, например, неплохо иметь возможность настраивать, но в целом мы просто хотим вернуться к написанию кода.
Другими могут быть функции, которые мы не использовали, управление тестером (мы используем Play Store Alpha и TestFlight) и встряхивание для регистрации сбоев / сбоев (мы предпочитаем Firebase).
Одна из действительно интересных функций - это возможность не просто просматривать и редактировать рабочий процесс в виде файла .yml, но и загружать и запускать его локально с помощью интерфейса командной строки.
Если честно, работы намного больше, чем мы привыкли, в этом смысл платить ежемесячно, верно? Но это в значительной степени разовая вещь, и бонусом является дополнительная настраиваемость. В целом, он выполняет свою работу очень хорошо и за хорошую цену. Я доволен этим переключателем. Я уверен, что CircleCI тоже хорош (мы используем его для нашей серверной части).
Также стоит отметить, что вся инфраструктура bitrise - это OSS - https://github.com/bitrise-io/bitrise.io
Спасибо @richardleggett за отзыв, я
Особенно Slack - я думаю, что уже давно пора иметь там «более интересное» (более полезное) сообщение по умолчанию, вместо того, чтобы требовать, чтобы вы создавали сообщение своей «мечты» сразу после перехода на шаг в первый раз. Гибкость важна, но не менее важны значения / настройки по умолчанию (и скорость). После этого вы все равно можете настроить сообщение, чтобы не было проблем с тем, чтобы сделать сообщение по умолчанию более подробным.
Gradle: обсудим это с командой разработчиков, спасибо за выделение!
Я пинал это (медленно увеличивая мое беспокойство). Хотел дать ссылку на это сообщение в блоге, исследуя альтернативы, на случай, если там есть дополнительная информация.
Я хочу провести некоторое время с @orta и @krausefx в городе, чтобы обсудить мое видение «северной звезды» для автоматизации этого проекта (помимо CI). Отчитаюсь, как только наберусь энергии, чтобы действительно поработать над этим.
Спасибо за сообщение об этом @rnystrom. Я чувствую тебя. 😕
@rnystrom благодарит за сообщение в блоге и сожалеет, что у вас возникли проблемы с настройкой распространения на bitrise. Не уверен, видели ли вы это, но теперь у нас есть встроенная функция Auto Provisioning для подписи кода, которая после настройки может автоматически управлять файлами подписи iOS для вас: https://blog.bitrise.io/ios-auto-provision-step
В любом случае, просто хотел сказать спасибо за то, что попробовали bitrise, и сообщить, что мы всегда рады помочь, если вы еще раз попробуете bitrise. Не стесняйтесь пинговать меня где угодно, например, в нашем Slack (http://chat.bitrise.io).
@viktorbenei Как бы то ни было, это не сообщение в блоге Райана!
Ой, моя беда, здесь еще рано утром 😅 Извините, господа, и спасибо, @Sherlouk !
На самом деле вчера вечером начал работу на Bitrise. Отчитаюсь!
Отправлено с помощью GitHawk
Билд Bitrise зеленый! Настроить так же просто, как и ББ. Я думаю, что у нас есть победитель.
Отправлено с помощью GitHawk
Рад слышать @rnystrom ! :)
Действительно, начальная настройка должна быть достаточно плавной, как у BB. Основное отличие - это пользовательский интерфейс конфигурации после этого. Подход BB заключался в предоставлении простого пользовательского интерфейса, который подразумевает, что некоторые вещи могут быть невозможны / не могут быть изменены, в то время как мы сосредоточились в основном на гибкости, чтобы вы могли указать каждый аспект процесса, если хотите (но это связано с определенным сложность и более крутая кривая обучения). Мы знаем, что эта кривая обучения может быть слишком сложной, особенно для хобби-проектов, и мы работаем над ее улучшением; в этом году запланировано довольно много вещей, чтобы упростить развертывание и т. д. конфиги;)
https://appcenter.ms кажется многообещающим
Во имя прозрачности, вот где мы сейчас находимся: у меня есть как Bitrise, так и App Center CI, создающий GitHawk. Обе службы довольно просты в использовании, поэтому я хочу попробовать использовать как для доставки нескольких бета-сборок, так и для одной сборки App Store, документируя мой процесс.
Вот мои первые мысли
master
(я _love_ это)Спасибо, что поделились @rnystrom ! Только одно исправление: компонент веб-службы bitrise не является открытым исходным кодом, поэтому невозможно разместить API и веб-интерфейс самостоятельно (пока;)). Все инструменты, используемые для запуска конфигурации (редактор рабочего процесса, интерфейс командной строки бегуна, ...), имеют открытый исходный код, поэтому вы можете загрузить конфигурацию сборки и запустить ее на своем собственном Mac (или на любом Mac / Linux), аналогично скоростная трасса.
Просто вопрос, для сравнения
Bitrise: Минусы: нет бесплатного плана с открытым исходным кодом (пока)
Есть ли у AppCenter план с открытым исходным кодом? Возможно, пропустил, НАСКОЛЬКО, у них его тоже нет. Мне действительно просто любопытно, потому что я не нашел ничего похожего на сайте appcenter.
Нет интеграции статуса GitHub
Это большой
@viktorbenei обновит! Еще нет
Отправлено с помощью GitHawk
Эй, ребята,
Спасибо за отзывы и сравнение. Мне это нравится, и наши PM смотрят эту ветку.
Автоматизированное развертывание tbd (подтверждено)
В настоящее время мы упорно работаем над улучшением дистрибуции. Будьте на связи.
Есть ли у AppCenter план с открытым исходным кодом? Возможно, пропустил, НАСКОЛЬКО, у них его тоже нет. Мне действительно просто любопытно, потому что я не нашел ничего похожего на сайте appcenter.
У нас пока нет плана OSS.
Приветствую всех и хороших выходных!
Это может быть актуально сейчас https://github.com/fastlane/ci 👍
@KrauseFx Я видел это и очень рад этому.
Зачем запрашивать функции, если мы, как сообщество, можем их создать? Плюс, Google поддерживает это? не мог и желать большего.
На самом деле с нетерпением жду возможности внести свой вклад в этот процесс по мере его развития и применить его к нашему рабочему процессу по мере его развития.
Спасибо за все, что вы делаете для сообщества!
@KrauseFx игрок 3 вошел в игру
Отправлено с помощью GitHawk
лолз
Я не думаю, что центр приложений поддерживает синтаксис типа [ci skip]
за фиксацию
@dkhamsing, к сожалению, нет (пока).
Один реальный плюс для buddybuild, который мне понравился, - это то, как они показывают до / после / различия в результатах тестирования, если модульный тест
Кто-нибудь знает, есть ли у какой-либо из этих других систем аналогичная функция?
Поддерживает ли Центр приложений сборку по запросу на вытягивание? Я очень запутался cc @TroubleMakerBen
@dkhamsing App Center поддерживает создание на основе PUSH, но пока не на основе PR (создание на основе слияния).
Ах я вижу. Спасибо, Райан, Бен
Отправлено с помощью GitHawk
После прочтения этой ветки кажется, что это гонка на двух лошадях: Bitrise и App Center. Тем не менее, никто не затронул тему тестов пользовательского интерфейса: мне понравилось, как в BB с помощью всего нескольких щелчков мыши можно запускать тесты эспрессо на виртуальном устройстве. Поддерживает ли это какая-либо из двух обсуждаемых платформ?
https://docs.microsoft.com/en-us/appcenter/test-cloud/
Отправлено с помощью GitHawk
@dkhamsing App Center Test фактически запускает тесты пользовательского интерфейса на физических устройствах - у нас их несколько тысяч. Неа, картинок не видно;)
На самом деле мы пытаемся найти новое решение CI.
AppCenter : похож на bb, но не обеспечивает PR-поддержки, я думаю, больше ориентирован на управленцев, также журналы не предоставляют стек, если какая-либо задача не выполняется.
Bitrise: очень настраиваемый, предлагает множество открытых «шагов», таких как охват кода, развертывание, подпись, unitTest, UITest, сборка, доставка, очистка и индивидуализация, потому что у вас есть возможность настроить его, просто немного запутались с файлами .yaml, вы может запускать шаги, заданные Push, PR и т. д.
Я думаю, по крайней мере, Bitrise предлагает множество функций, которые мы можем использовать!
Из размещенной выше ссылки о тестировании в Центре приложений
- Просмотрите основные концепции
Понимание основных концепций Test Cloud упрощает использование, навигацию и общение с поддержкой. Перед выполнением первых тестов рекомендуется ознакомиться с этими концепциями.
Какого черта ... Я не хочу пересматривать какие-либо концепции, основные или другие, я просто хочу, чтобы он работал с двумя щелчками мыши, как это было на BB :( У меня нет 10 часов, чтобы погрузиться в эту работу, Я программист, а не инженер DevOps ...
Да, документацию по центру приложений можно упростить.
Отправлено с помощью GitHawk
@acristescu
После прочтения этой ветки кажется, что это гонка на двух лошадях: Bitrise и App Center. Тем не менее, никто не затронул тему тестов пользовательского интерфейса: мне понравилось, как в BB с помощью всего нескольких щелчков мыши можно запускать тесты эспрессо на виртуальном устройстве. Поддерживает ли это какая-либо из двух обсуждаемых платформ?
Не (пока) одним щелчком, но также более мощный в нескольких отношениях: https://blog.bitrise.io/introduction-solid-and-snappy-virtual-device-testing-for-android
Мы работаем над тем, чтобы упростить настройку (поэтому она все еще «бета», а не из-за недостатка функциональности;)).
@acristescu @dkhamsing Мы в курсе! Продолжайте получать обратную связь.
@viktorbenei Я собираюсь попробовать, но, боже мой, этот художественный стиль отталкивает. Я вспомнил, почему я держался подальше от Bitrise в прошлом ... улыбающиеся облака, обнимающие друг друга? Акулы с привязанными к ним лазерами?!? Зеленые кнопки на ярком фиолетовом фоне? Возможно, я здесь просто показываю свой возраст, но как я могу порекомендовать этот инструмент клиенту, который ... скажем ... банк?
Нет проблем @acristescu , я определенно понимаю вашу точку зрения, честные отзывы всегда приветствуются, а обновление дизайна уже в разработке;)
Я решил попробовать их оба с помощью простого репо (https://github.com/acristescu/GreenfieldTemplate) и посмотреть, куда я попаду. Пока что я пробовал App Center и наткнулся на несколько препятствий:
google()
в Gradle вашего проекта##[warning]No test result files matching /Users/vsts/agent/2.127.0/work/1/s/**/build/test-results/TEST-*.xml were found, so publishing JUnit test results is being skipped.
Не уверен, что это такое ...
Bitrise: с другой стороны, установка была такой же безболезненной, хотя я думаю, что если мне нужно что-то изменить, мне нужно открыть файл yml и поиграть с ним (обновление: нашел вещь, называемую редактором рабочего процесса. Это выглядит страшно, но мощно) . Загвоздки:
prodRelease
но по какой-то причине он решил построить именно два других mockDebug
и prodDebug
. Не могу найти, где это изменить, но я уверен, что он должен быть.test
запустить)Спасибо за размещение этих
Отправлено с помощью GitHawk
Спасибо @acristescu за подробный отзыв, мы очень ценим его. В частности, предупреждение для файлов отчета тестирования JUnit в Центре приложений не влияет на ваш фактический запуск теста и должно быть исправлено в ближайшее время.
Продолжайте!
Мне потребовалось два часа, но мне удалось убедить центр приложений загрузить в Google Play. Однако я не могу убедить его сделать это автоматически, мне пришлось загрузить подписанный APK из центра приложений, а затем загрузить его обратно в раздел развертывания / магазинов (!), Чтобы он заработал. Кажется ужасно запутанным, что я делаю не так?
PS: Чтобы добавить оскорбления к травме, BuddyBuild развернулся несколько раз за один и тот же промежуток времени, так как я забыл отключить его в начале, и он просто работает автоматически без какого-либо вмешательства человека ...
Привет @acristescu!
Re: https://github.com/rnystrom/GitHawk/issues/1330#issuecomment -368228417
он никогда не спрашивал меня, какой вариант построить, и выбирал не тот. Я хотел prodRelease, но по какой-то причине он решил построить именно два других mockDebug и prodDebug. Не могу найти, где это изменить, но я уверен, что он должен быть.
Действительно, наш текущий сканер добавит шаг Gradle Runner с настройкой assembleDebug
для базового рабочего процесса. Мы понимаем, что это может быть недостаточно просто, но вкратце, если вы хотите построить prodRelease
тогда задача градиента будет assembleProdRelease
. Если вы хотите запустить lint, тогда задача gradle - lint
. Вы можете сделать все это с помощью шага Gradle Runner, на самом деле gradle может обрабатывать несколько задач, поэтому для запуска lint
а затем assembleProdRelease
вы также можете указать это как задачу: lint assembleProdRelease
который будет делать и то, и другое.
Мы работаем над новыми шагами и новыми конфигурациями сканера по умолчанию, которые сделают это проще, с более конкретными шагами (например, шаг «Lint», который запускает задачу gradle lint
, вместо того, чтобы требовать от вас установки этой задачи в шаг "Gradle Runner") 😉
сборка заняла больше времени, 4 минуты вместо 2 минут 16 для центра приложений. Возможно, это из-за вышеуказанной проблемы?
Действительно, похоже, что это так, поскольку assembleDebug
скорее всего, генерирует 2 отдельных APK / варианта в вашем случае вместо одного "ProdRelease".
нигде в журналах нет упоминаний о тестах junit. Я сомневаюсь, что это им помогло.
Укажите test
в качестве входных данных задачи gradle шага Gradle Runner, который будет запускать ваши тесты - или добавьте шаг Gradle Unit Test, который настроен для запуска этой задачи gradle по умолчанию.
Не уверен, какой идентификатор сборки он использовал, как мне это вообще увидеть?
Если вы имеете в виду, устанавливаем ли мы номер сборки на номер сборки bitrise.io: по умолчанию мы этого не делаем, вы можете сделать это, например, добавив шаг « Изменить код версии
Еще раз спасибо за ваш отзыв, мы прислушиваемся и уже запланировали улучшить эти моменты настройки! ;)
Замечательное обсуждение. Мне было трудно найти альтернативу BuddyBuild, поддерживающую Carthage.
Заглянул в Nevercode, они поддерживают только коконады.
Я считаю, что Центр приложений поддерживает Carthage.
Любые другие?
@jamesone
Я думаю, что лучшим вариантом для вас может быть Bitrise, они предоставляют платформу, такую как битбакет конвейеров , также вы можете настроить в соответствии с вашими потребностями с помощью шагов.
На самом деле мы перешли с bb на bitrise, используем Android и iOS, и все отлично!
Замечательно @cbedoy Что вы сделали с устанавливаемыми сборками, которые buddybuild предоставляет для всех ваших веток? Есть ли у Bitrise интеграция ИЛИ поддержка этого?
Вы можете запускать рабочие процессы (много _шагов_), когда вы нажимаете, создаете PR или тег.
Также вы можете запланировать сборки для каждой ветки.
Вы должны проверить:
https://devcenter.bitrise.io/bitrise-cli/workflows/
https://devcenter.bitrise.io/bitrise-cli/steps/
Когда вы понимаете, как работает bitrise, можно создавать рабочие процессы на основе того, что вам нужно, т.е. мне нужен рабочий процесс, в котором просто выполняется unitTesting, если кто-то создает PR, или мне нужен рабочий процесс, в котором создается и генерируется .ipa, когда мастер был помечен.
Bitrise - это что-то вроде образов докеров, где вы можете выбрать сторонние _steps_ для запуска unitTest, CodeCoverage или архивирования и развертывания.
Потрясаящий человек! Звучит действительно интересно. Я разберусь с этим.
Самый полезный комментарий
Я явно предвзят;) но с App Center такого не случится.
Пожалуйста, свяжитесь с нами, если вы заинтересованы.