Category Archives: BASH scripts

Примеры скриптов на bash, описание работы с интерпретатором.

Travis: деплой конфигов NGINX в Azure File share

08/07/2017
 

 Имеется ресурс группа, которая включает в себя один Azure Load Balancer, за котором находится Azure VMSS с двумя виртуальными машинами. На машинах работает NGINX, который использует файлы настроек виртуалхостов, которые хранятся в файл-шаре, которая монтируется к обеим машинам. Полное описание проекта – Azure: VMSS за Load Balancer, renew SSL от Let’s Encrypt, SMB file share и NGINX-proxy.… Read More »

AWS [China]: начало

05/03/2017
 

 Описание Продолжение проекта, описанного в посте AWS: билд Java + Maven + Docker + Packer + Terraform – будем разворачивать нечто аналогичное в Китае. Хотя у Китая есть “свой AWS” – Aliyun.com, принадлежащий Alibaba Group, тем не менее – мы будем пользоваться именно Amazon Web Services. В этом посте не будет HowTo do something – больше просто описание опыта работы… Read More »

Azure: CDN, NodeJS, Docker Swarm и Blue-Green деплой

04/24/2017
 

 Имеется проект на Azure, которым я занимался большую часть последнего года (с 20-го марта 2016). Пост Azure: почему никогда писался под впечатлением работы как раз на нём (да и большая часть рубрики Azure – тоже).

Bash – скрипт удаления образов с Docker Swarm нод

04/21/2017
 

 Имеется Docker Swarm: $ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS h8p0sed4q6n6yyheq3wbxum2r fgvwm46c3b5uk000001 Ready Active oaphqh0i6f8kc013fy5goi37u fgvwm46c3b5uk000002 Ready Active qgj0un2g0jsqhhr0izd9fyn0d fgvwm46c3b5uk000000 Ready Active so01pmq9sdl9s34uq1m419m7z * fgvwm46c3b5uk000000 Ready Drain Leader

Linux: [[: not found

02/17/2017
 

 Во время Jenkins-билда – скрипт деплоя возвращает ошибку: … [jm-cms-transform-layer-build] Running shell script + [[ -d config ]] /var/jenkins_home/workspace/jm-cms-transform-layer-build@tmp/durable-6569c8ce/script.sh: 2: /var/jenkins_home/workspace/jm-cms-transform-layer-build@tmp/durable-6569c8ce/script.sh: [[: not found …

bash: скрипт генерации файлов конфигурации для NGINX

12/02/2016
 

 Имеется WebApp в Azure. В нему подключены 85 доменов. Задача – для каждого из подключенных доменов сгенерировать файлы настроек для NGINX, который будет проксировать запросы к этмоу WebApp. Список подключенных доменов получется с помощью Azure CLI – azure webapp show. Задача усложняется тем, что некоторые домены подключены к WebApp с www, а некоторые – без.… Read More »

BASH: массивы, пример – скрипт получения логов из Docker-контейнеров

11/18/2016
 

 Есть приложение, которое включает в себя 5 Docker-контейнеров. Для наблюдения за логами используется Loggly, но мне он жутко неудобен – в консоли логи удобнее смотреть и грепать. Запущенное приложение выглядит так: ubuntu@ip-10-5-3-54:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 63937e07a5cf tag-docker.jfrog.io/api-gateway:staging-test-eureka-cloud-versioning-124 “java -Djava.security” 30 minutes ago Up 30 minutes 0.0.0.0:8080->8080/tcp peaceful_blackwell cbf2394197bc… Read More »

Azure: GoCD и MSDeploy – деплой UmbracoCMS в Azure WebServices

10/14/2016
 

 Описание инфрастуктуры и процесса деплоя приложения одного немецкого производителя приятноалкогольной продукции. Работает на UmbracoCMS, .NET, язык – C#, использует две Azure (MS) SQL базы – одну для хранения настроек, вторую – для пользовательских данных. Для приложения имеются две различные ресурс-группы – Development и Production, при этом у Production имеется Staging swap-slot (у Dev – тоже, но он пока не… Read More »

Azure: управление зонами в Azure DNS – Git, GoCD, bash и Azure CLI

05/12/2016
 

 Новый проект переносит свои домены на DNS Azure, для чего требовалось создать возможность управления ими. Схема получается следующая: файлы зон хранятся в Stash; GoCD проверяет обновления в Stash, и триггерит билд; во время билда – файлы зон заливаются на Azure DNS. Обновление данных выполняется bash-скриптом с помощью Azure CLI. Больше про Azure CLI  и работу с… Read More »

NGINX: управление конфигурацией прокси

05/03/2016
 

 Система управления прокси-сервером под NGINX на Ubuntu 14.04 в Azure. Файлы конфигураций бекенд-хостов хранятся в Atlassian Stash, в роли CI/CD сервера выступает GoCD от Hashicorp. Предназначена для предоставления девелоперам возможности управления конфигурацией хостов в процессе переноса сайтов проекта со старых на новые версии. Репозиторий Скрипты Скрипт backup.sh Скрипт nginx_update.sh GoCD Репозиторий