Что такое CI и зачем он нам нужен?
Как разработчик Flutter, вы, очевидно, должны создать приложение в своей локальной среде и сделать его максимально функциональным в своей среде, но как насчет других? среды? Мы не знаем.
Итак, представьте, мы загружаем наше приложение Flutter на GitHub, а затем клонируем то же репо на другом компьютере и запускаем там наше приложение. Есть вероятность, что ваше приложение может не запускаться/иметь несколько сбоев и слабых ссылок, особенно с Flutter, кросс-платформенной средой разработки. Итак, как сделать так, чтобы наши приложения работали безупречно во всех средах? Вот тут-то и пригодится CI/CD.
Что такое CI/CD?
CI/CD Continous Integration, Continous Deployment) используется для преодоления разрыва между разработкой и эксплуатацией с использованием автоматизации для создания, тестирования и развертывать приложения. Другими словами, это облегчает нашу жизнь за счет более простых рабочих процессов. Мы можем использовать множество инструментов для выполнения простого CI/CD, который тестирует ваше приложение в совершенно другой среде и информирует вас о том, где сохраняются переполнения и утечки памяти.
Некоторые из лучших инструментов CI/CD это:
- Jenkins
- Circle CI
- Azure CI/CD
- Трэвис К.И.
- GitLab
- Codemagic
- Team City от Jet Brains
Существует очень много других инструментов, но приведенные выше — одни из моих любимых. Лично для Flutter я предпочитаю Codemagic.
Что такое Travis CI?
Travis CI — это простой Инструмент CI/CD, используемый для создания приложений, размещенных на GitHub и Bitbucket (как и другие инструменты CI/CD).
Начало работы
- Создать приложение Flutter и отправьте его в свой репозиторий Git.
- Перейдите в Travis CI и войдите в систему с помощью GitHub.
- Предоставьте доступ ко всем репозиториям или выберите те, которые вам нужны. чтобы предоставить доступ.
- Теперь выберите репозиторий приложения Flutter, в котором вы хотите продолжить тестирование CI/CD.
- Вернитесь к своему коду на локальном компьютере. machine, создайте файл
.travis.yml
в корне вашего проекта, добавьте следующий код и отправьте его в репозиторий git:
os: - linuxsudo: falseaddons: apt: sources: - пакеты ubuntu-toolchain-r-test: - libstdc ++ 6 - fonts-droid-fallbackbefore_script: - git clone https://github.com/flutter/ flutter.git -b beta - ./flutter/bin/flutter doctorscript: - ./flu tter/bin/flutter testcache: каталоги: - $ HOME/.pub-cache
Теперь давайте посмотрим, что именно ваш файл .yml
выполняет :
Мы выбираем нашу операционную систему как Linux и устанавливаем пакеты libstdc ++ 6
и fonts-droid-fallback
, потому что Flutter зависит от этих пакетов. В наших источниках нам нужно упомянуть ubuntu-toolchain-r-test
, чтобы получить правильную версию libstdc ++ 6.. У нас есть 2 типа скриптов для запуска здесь после настройки нашей среды. Это before_script
и script
.
Как следует из названия, before_script
— это выполняется перед основным скриптом включает установку Flutter из GitHub на тестовую платформу и запуск flutter doctor
, чтобы проверить, работает ли Flutter работает нормально . После этого ваша программа запускается с помощью команды flutter test
. Если ваш проект работает без ошибок, поздравляю, он отлично работает во всех средах! Однако, если это не удается, вы можете проверить свою ошибку и исправить ее на своем локальном компьютере с помощью автоматизированного рабочего процесса. Любые изменения будут автоматически инициированы для запуска новой сборки.
Как только Travis CI обнаружит файл .travis.yml
в вашем репо, он начнет CI в соответствии с файл .yml
. Кроме того, каждый раз, когда вы делаете новую фиксацию для своего репо, Travis CI автоматически запускает другой тест CI без необходимости запускать его вручную.
Это так просто и просто использовать Travis CI . Вы также можете обновить статус сборки в репозитории, добавив значок Travis CI в файл README.