1. Обзор
В этой быстрой статье мы рассмотрим создание «толстой банки» в Gradle.
По сути, толстый jar (также известный как uber-jar) — это самодостаточный архив, который содержит как классы, так и зависимости, необходимые для запуска приложения.
В этом руководстве мы покажем различные способы установки и использования переменных среды в Jenkins .
Чтобы узнать больше о Jenkins и Pipelines, обратитесь к нашему введению в Jenkins .
Мы можем установить глобальные свойства, перейдя к «Управление Jenkins -> Настройка системы -> Параметр глобальных свойств».
В этой статье мы рассмотрим еще один хорошо зарекомендовавший себя API для конкретных платформ — Java API Client for Docker
.
На протяжении всей статьи мы понимаем, как подключиться к работающему демону Docker и какие важные функции API предлагает разработчикам Java.
Во-первых, нам нужно добавить основную зависимость в наш файл pom.xml
:
В этом уроке мы поговорим о библиотеке Resilience4j .
Библиотека помогает внедрять отказоустойчивые системы, управляя отказоустойчивостью удаленных коммуникаций.
Библиотека вдохновлена Hystrix , но предлагает гораздо более удобный API и ряд других функций, таких как ограничитель скорости (блокирует слишком частые запросы), Bulkhead (избегает слишком большого количества одновременных запросов) и т. д.
Поскольку все больше наших приложений развертывается в облачных средах, работа с Docker становится необходимым навыком для разработчиков. Часто при отладке приложений полезно копировать файлы в наши контейнеры Docker или из них.
В этом руководстве мы рассмотрим несколько различных способов копирования файлов в контейнеры Docker и из них.
cp
Самый быстрый способ скопировать файлы в контейнер Docker и из него — использовать команду docker cp
. Эта команда очень похожа на команду Unix cp и имеет следующий синтаксис:
В этом уроке мы рассмотрим создание образов контейнеров с помощью Kaniko .
Kaniko — это инструмент для создания образов контейнеров из Dockerfile
. В отличие от Docker, Kaniko не требует демона Docker.
Поскольку процесс демона не зависит, его можно запустить в любой среде, где у пользователя нет root-доступа, например в кластере Kubernetes.
Ранее мы рассмотрели основные понятия и использование Terraform . Теперь давайте углубимся и рассмотрим некоторые из лучших практик использования этого популярного инструмента DevOps.
Когда мы начинаем использовать Terraform, нередко помещаем каждое определение ресурса, переменную и выходные данные в один файл. Однако такой подход быстро приводит к созданию кода, который трудно поддерживать и еще труднее использовать повторно.
Лучший подход — воспользоваться преимуществом того факта, что внутри модуля Terraform прочитает любой файл « .tf
» и обработает его содержимое . Порядок, в котором мы объявляем ресурсы в них, не имеет значения — в конце концов, это работа Terraform. Мы должны держать их в порядке, чтобы мы могли лучше понять, что происходит.
Часто бывает полезно отделить наши службы от их конфигурации. Для двенадцатифакторного приложения мы должны хранить конфигурацию в среде .
Конечно, это означает, что нам понадобится способ внедрить конфигурацию в наш сервис.
В этом руководстве мы добьемся этого, передав переменные среды в контейнер Docker .
–env
, -e
Мы знаем, что Docker — это мощный инструмент для простого создания, развертывания и запуска приложений.
В учебнике «образы и контейнеры » мы обсуждали, как образы Docker строятся с использованием слоев. Мы также обсуждали, что первым уровнем обычно является операционная система.
Итак, можно ли подключиться к операционной системе контейнера? Да, это так. А теперь мы научимся это делать.
Когда мы работаем с Docker, иногда нам нужно проверить файлы конфигурации или журналы внутри контейнера.
В этом кратком руководстве мы увидим, как проверить файловую систему контейнера Docker, чтобы помочь нам решить такие ситуации.
Мы можем исследовать файловую систему в интерактивном режиме для большинства контейнеров, если получим к ним доступ из оболочки.