13 инструментов с открытым исходным кодом для разработчиков
Выбирайте инструменты, которые обеспечивают максимальную гибкость при интеграции и доставке программного обеспечения.
Современные разработчики — это высокотехничные, самоуверенные, страстные, ориентированные на сообщество, целеустремленные, полиглоты и, что наиболее важно, наделенные полномочиями принимать решения. Сегодня разработчики имеют право голоса в создаваемых продуктах, а также в инструментах и технологиях, используемых для их создания. Самое главное, время драгоценно, а разработчики и менеджеры проектов всегда могут получить выгоду от высокой эффективности. Однако для достижения высокой эффективности вы должны понимать жизненный цикл программного обеспечения и то, как его можно организовать и манипулировать им.
Индустрия все еще работает над совершенствованием того, как расходуется время разработчика. Мы можем разделить основные задачи разработчика на два разных «цикла»:
- Внутренний цикл. Это наиболее распространенные задачи, которые выполняют разработчики и которые полностью задействуют их навыки: кодирование, запуск, проверка и отладка. Это классический цикл разработчика.
(Нимиша Мукерджи, CC BY-SA 4.0)
- Внешний цикл. Здесь код разработчика проходит непрерывную интеграцию и непрерывную доставку (CI/CD) и развертывается в рабочей среде. На Gitlab и подобных платформах запрос на включение (PR) разработчика объединяется с основной веткой, запускается CI/CD и создается сборка, выполняются необходимые тесты и развертывается в указанных средах. Это цикл DevOps.
(Нимиша Мукерджи, CC BY-SA 4.0)
Разработчики должны тратить большую часть своих усилий на задачи внутреннего цикла, внедрение инноваций и минимальное время на внешний цикл.
Понимание различий между внутренним и внешним циклами может помочь определить инструменты разработчика, которые лучше всего подходят для каждой части жизненного цикла программного обеспечения.
Инструменты внутреннего цикла с открытым исходным кодом
Вот некоторые из моих любимых инструментов с открытым исходным кодом для цикла кодирования, запуска, проверки и отладки.
Код
- Eclipse Che делает разработку Kubernetes доступной для команд разработчиков. Che предоставляет встроенную в браузер среду разработки (IDE), позволяющую разработчикам кодировать, создавать, тестировать и запускать приложения на любом компьютере точно так же, как они запускаются в рабочей среде.
- Visual Studio Code (VS Code) и VSCodium — это редакторы кода с открытым исходным кодом, поддерживающие отладку, подсветку синтаксиса, интеллектуальное завершение кода, фрагменты кода, рефакторинг кода и встроенный Git.
Бегать
- OpenShift Do (odo) — это интерфейс командной строки для разработчиков, который поддерживает быструю итеративную разработку, позволяя им сосредоточиться на том, что для них наиболее важно: коде.
- Minishift помогает разработчикам запускать OKD (дистрибутив Kubernetes, распространяемый сообществом) локально, запуская одноузловой кластер OKD внутри виртуальной машины. Minishift позволяет опробовать OKD или ежедневно разрабатывать с его помощью на локальном компьютере.
- Затмение Че
Подтвердить
- Затмение Че
- Одо
- VS Code Dependency Analytics — это база данных уязвимостей с открытым исходным кодом.
Развертывать
- Затмение Че
- Одо
Узнать больше
Существует множество рабочих процессов для реализации хорошего цикла кодирования. Чтобы получить представление о том, как разработчики используют эти инструменты, прочитайте статью Дэниела О о том, как он использует Quark для разработки бессерверных приложений, и статью Брайана Сона о том, как его команда использует Eclipse Che.
Инструменты внешнего цикла с открытым исходным кодом
Существуют отличные инструменты с открытым исходным кодом, которые упрощают отправку кода через CI/CD и его развертывание в рабочей среде.
CI/CD
- Tekton — это платформа с открытым исходным кодом для создания систем CI/CD, позволяющая разработчикам создавать, тестировать и развертывать.
- Jenkins — это бесплатный сервер автоматизации с открытым исходным кодом. Он помогает автоматизировать части разработки программного обеспечения, связанные со сборкой, тестированием и развертыванием, для упрощения CI/CD.
Строить
- Shipwright — это расширяемая платформа для создания образов контейнеров в Kubernetes.
- Eclipse JKube — это набор плагинов и библиотек, используемых для создания образов контейнеров с использованием стратегий сборки Docker, Jib или OpenShift Source-to-Image (S2I).
Бегать
- CodeReady Containers (CRC) управляет локальным кластером OpenShift 4.x, оптимизированным для целей тестирования и разработки.
Монитор
- Prometheus обеспечивает мониторинг событий и оповещение.
Развертывать
- Тектон
- Дженкинс
- Helm — менеджер пакетов для Kubernetes.
- Argo CD — это декларативный инструмент непрерывной доставки GitOps для Kubernetes. Это делает развертывание приложений и управление их жизненным циклом автоматизированным, проверяемым и простым для понимания.
Изучите DevOps
Если вы хотите реализовать стратегию DevOps, вы можете начать со статьи Джесса Черри о том, как использовать Minishift и Jenkiins для настройки вашего первого конвейера.
Делай проще
Сегодня разработчики выбирают инструменты и технологии, используемые при интеграции и доставке программного обеспечения. Если вы разработчик, выбирайте инструменты с открытым исходным кодом для максимальной гибкости. Если вы менеджер проекта или архитектор, выбирайте инструменты с открытым исходным кодом, которые помогут вашим разработчикам добиться успеха, работая меньше и делая больше.