Архив метки: Docker

Nextcloud: запуск в Docker Compose на Debian с SSL от Let’s Encrypt

27 ноября 2019
 

 Недавно потестировал Nexcloud вообще, см. NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux – в целом понравилось, работает – можно попробовать мигрировать с Dropbox на него. Сегодня запустим Nextcloud полностью в Docker, на сервере с Debian 10 в Digital Ocean. К серверу подключён отдельный диск, на котором будут все… Читать далее »

Jenkins: деплой Docker Compose из Ansible и ECR авторизация

26 сентября 2019
 

 В продолжение поста AWS: создание Elastic Container Registry и деплой из Jenkins, в котором создали джобу для билда Docker-образов и их пуша в AWS ECR – теперь надо создать джобу в Jenkins для деплоя и запуска одного Docker-контейнера. Запускать будем через Docker Compose, в котором Ansible будет задавать требуемую версию из параметров Jenkins-джобы. Для того, что… Читать далее »

AWS: создание Elastic Container Registry и деплой из Jenkins

23 сентября 2019
 

 Задача: создать AWS ECR репозиторий для образов проекта, и добавить джобу в Jenkins, которая будет собирать образы, и загружать их в этот репозиторий. Продолжение – в посте Jenkins: деплой Docker Compose из Ansible и ECR авторизация. AWS ECR Переходим в ECR, жмём Get Started, выбираем имя нового репозитория: Оставляем по умолчанию Mutable, т.е. можно будет… Читать далее »

Docker: Compose и общие сети

20 августа 2019
 

 Имеется Docker Compose стек с Jenkins, SonarQube и PostgresSQL, см. пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема в том, что они описаны в одном Compose-файле, и весь стек перезапускается единым systemd-файлом (см. Linux: systemd сервис для Docker Compose). Соответственно, если надо перезапустить SonarQube – то придётся перезапускать и Jenkins, на котором… Читать далее »

Kubernetes: знакомство, часть 3 – обзор AWS EKS и ручное создание кластера

15 августа 2019
 

 Продолжаем знакомство с Kubernetes. Предыдущие части: Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer Следующие: Kubernetes: знакомство, часть 4 — аутентификация в AWS EKS, aws-iam-authenticator и AWS IAM В этой части перейдём уже непосредственно к EKS – кратко его рассмотрим,… Читать далее »

Kubernetes: знакомство, часть 1 – архитектура и основные компоненты, обзор

24 июля 2019
 

  На текущем проекте у нас имеется API-бекенд для мобильных приложений на PHP Yii-фреймворке, который работает на стандартном LEMP – Linux/NGINX/PHP-FPM/MySQL. Пришла пора и нам разбивать этот монолит на микросервисы, для управления которыми будет использоваться Kubernetes (AWS EKS). В этом и последующих постах серии – знакомство с основными компонентами и архитектурой Kubernetes, ручное создание кластера… Читать далее »

SonarQube: запуск в Docker и вызов из Jenkins Pipeline

18 июня 2019
 

 Задача – запустить SonarQube, что бы Jenkins выполнял проверку кода. Jenkins работает в Docker, билды запускаются тоже Docker. Основная проблема, которая возникла во время запуска SonarQube из Docker Compose, это то, что контейнер с SonarQube внутри себя запускает процесс с Elastisearch (что, вроде как, нарушает главный принцип использования конейнеров – 1 сервис на один контейнер).… Читать далее »

Jenkins: проверка публичных репозиториев Github-организации

16 апреля 2019
 

 Продолжаем внедрение проверки списка публичных репозиториев организации. Напомню: идея состоит в том, что бы если кто-то из девелоперов случайно расшарит приватный репозиторий, или создаст новый репозиторий не приватным, а публичным – получить об этом уведомление в Slack. Написание самой утилиты на Go есть в посте Go: проверка списка публичных репозиториев в Github и уведомления в… Читать далее »

Jenkins: jenkins.model.RunIdMigrator doMigrate WARNING: found unexpected dir lastSuccessfulBuil

15 марта 2019
 

 Имеется Jenkins, запущен в Docker-контейнере. Проблема После рестарта через systemctl – “Шеф, усё пропало!” Сам сервис выглядит так: [simterm] root@jenkins-production:/opt/jenkins# systemctl cat jenkins # /etc/systemd/system/jenkins.service [Unit] Description=Jenkins service Requires=docker.service After=docker.service [Service] Restart=always WorkingDirectory=/opt/jenkins # Compose up ExecStart=/usr/local/bin/docker-compose -f jenkins-compose.yml up # Compose down, remove containers and volumes ExecStop=/usr/local/bin/docker-compose -f jenkins-compose.yml down -v [Install] WantedBy=multi-user.target [/simterm]… Читать далее »

Prometheus: мониторинг для RTFM – Grafana, Loki и promtail

9 марта 2019
 

 После внедрения Loki на рабочем проекте – решил добавить его и себе. А заодно – добавить node_exporter и alertmanager, что бы получать уведомления, когда на разделах будет заканчиваться место. Обычно “Ссылки по теме” размещаю в конце поста, но тут стоит их добавить в начале. Для общего знакомства с Prometheus: Prometheus: мониторинг — введение, установка, запуск,… Читать далее »