Добрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура и CI/CD практики наконец-то начинают входит в инструментарий не только DevOps-инженеров, но и простых смертных разработчиков. Чтобы статья была более интересна, я добавил фронт на React.JS, для охвата потребностей большей массы людей, если ваше приложение не использует Encore — не беда, я укажу как изменить Docker-файл для вас, поддержка React.JS тут влияет только на него. Кому будет интересен данный туториал? В первую очередь он направлен на PHP-разработчиков, желающих изменить свою практику деплоя — отойти от привычных канонов и воспользоваться docker для паковки своего приложения и выкладки образа. Но можно пойти чуть глубже, и дальнейшее повествование будет направлено на автоматический деплой приложения из Git'а посредством CI/CD платформы (будет использован CircleCI, но если интересует конфиг Gitlab'а, пишите в комментариях, я приложу). По сути, тут абсолютно не важно React/PHP ли у вас приложение или, скажем, на .NET Core, данная часть будет интересна разработчикам для получения навыков автоматизации деплоя в целом. Исходный код доступен в github-репозитории, ссылка в конце статьи. Ну что же, поехали!
Читать полностью »
Рубрика «docker» - 15
Deploy Symfony + React приложения на AWS посредством CI
2019-08-04 в 7:24, admin, рубрики: Amazon Web Services, AWS, ci, circleci, docker, elasticbeanstalk, symfonyВыбираем лучший backend-язык для контейнеризации в Docker
2019-08-03 в 13:12, admin, рубрики: C#, devops, docker, Go, java, node.js, nodejs, php, python, ruby, ПрограммированиеПривет! Я решил выяснить, на каком языке программирования можно написать веб-приложение, чтобы при его контейнеризации Docker-образ получился легковесным, а сборка образа была быстрой.
Как Dark развертывает код за 50 мс
2019-07-31 в 10:59, admin, рубрики: CD/CD, devops, docker, k8s, Блог компании Southbridge, Серверное администрирование, системное администрирование
Чем быстрее процесс разработки, тем быстрее развивается технологическая компания.
К сожалению, современные приложения работают против нас — наши системы должны обновляться в режиме реального времени и при этом никому не мешать и не приводить к простоям и перерывам. Развертывание в таких системах становится сложной задачей и требует сложных пайплайнов непрерывной поставки даже в маленьких командах.
Эти пайплайны обычно имеют узкое применение, медленно работают и не отличаются надежностью. Разработчики должны сначала создать их вручную, а потом управлять ими, и компании часто нанимают для этого целые команды DevOps.
От скорости этих пайплайнов зависит скорость разработки. У лучших команд развертывание занимает 5–10 минут, но обычно все делается гораздо дольше, и для одного развертывания требуется несколько часов.
Еще один вариант среды для разработки WordPress (docker, wp-cli)
2019-07-31 в 8:21, admin, рубрики: docker, wordpress, wp-cliЕсть официальные образы для развертывания WordPress и использования wp-cli. Но при их совместном использовании мне приходилось расшаривать всю папку WordPress и хотелось, чтобы было больше возможностей для кастомизации установки.
Очень хотелось после запуска контейнера видеть в браузере не приглашение к выбору языка установки, а готовый сайт.
Эта статья предлагает один из способов развертывания сайтов на WordPress.
DataGrip 2019.2: Управление соединениями, поиск по данным, фильтрация в навигации
2019-07-30 в 14:13, admin, рубрики: DataGrip, docker, intellij idea, Microsoft SQL Server, mysql, postgresql, sql, sql server, базы данных, Блог компании JetBrainsПривет! Рассказываем о том, что мы сделали в DataGrip за четыре месяца. Если вы используете поддержку баз данных в других наших IDE, этот пост для вас тоже.
Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker
2019-07-25 в 8:35, admin, рубрики: docker, Go, golang, grpc, Microservices, protobuf, микросервисы, ПрограммированиеПривет! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans.
Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небольшой пример того, как это делается на базовом уровне.
Читать полностью »
Создание минимального Docker-контейнера для Go-приложений
2019-07-18 в 12:34, admin, рубрики: docker, Go, контейнеры, переводПривет! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications».
Время чтения: 6 минут
Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для различных языков программирования (включая Go). Но эти контейнеры могут быть довольно большими. Давайте сперва сравним стандартные методы создания контейнеров для Go-приложений, а затем я покажу способ создания крайне маленьких статических контейнерезированных Go-приложений
Часть 1: Наше «приложение»
Для тестирования нам потребуется какое-нибудь маленькое приложение. Давайте будем фетчить google.com и выводить размер HTML.
package main
import (
"fmt"
"io/ioutil"
"net/http"
"os"
)
func main() {
resp, err := http.Get("https://google.com")
check(err)
body, err := ioutil.ReadAll(resp.Body)
check(err)
fmt.Println(len(body))
}
func check(err error) {
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}
Если мы запустимся, то получим только какое-то число. У меня вышло около 17К. Я целенаправленно решил использовать SSL, но причину объясню позднее.
Читать полностью »
Поймал бан за форк deepNude на gitlab.com
2019-07-15 в 11:50, admin, рубрики: deepnude, docker, Git, gitlab, ненормальное программированиеВ одной из статей опубликованных на хабре я в комментах вычитал, что на gitlab.com есть копии deepNude, чисто из любопытства нашел ее и сделал форк «на всякий случай». Через 3 часа после этого я не смог запушить код, т.к. улетел в бан…
Docs as Code. Часть 1: автоматизируем обновление
2019-07-15 в 7:39, admin, рубрики: bitbucket, docker, docsascode, documentation, Jenkins, Блог компании Юла, Программирование, управление проектами, управление разработкой
В больших проектах, состоящих из десятков и сотен взаимодействующих сервисов, всё чаще становится обязательным подход к документации как к коду — docs as code.
Я покажу, как можно применять эту философию в реалиях classified-сервиса, а точнее, начну с первого этапа её внедрения: автоматизации обновления данных в документации.
Несколько малоизвестных возможностей docker-compose
2019-07-15 в 3:20, admin, рубрики: devops, docker, docker-compose, linuxВо многих инструкциях с просторов интернета описывают некий минимум действий, и как следствие минимум команд и возможностей.
Я решил сделать некую подборку мало освещенных возможностей, особенностей. Статья не претендует на уникальность, это и мне, как памятка, и возможно некоторым падаванам поможет, начинающий свой путь с docker-compose.