AWS — CodeDeploy на EC2 Instance

Пример создания AWS Pipeline, где CloudWatch отслеживает состояние репозитория в CodeCommit, при изменении запускает CodeBuild который выкачивает содержимое репозитория и загружает его в S3 Bucket. CodeDeploy обращается к EC2 Instance и codedeploy-agent скачивает с S3 архив с содержимым репозитория и выполняет действия, описанные в скрипте.   S3 Bucket необходим только для передачи артефакта от CodeBuild … Продолжить читать "AWS — CodeDeploy на EC2 Instance"

AWS — CodeBuild: Добавляем инкрементный номер сборки

Как оказалось CodeBuild не имеет встроенной инкрементной переменной для номера сборки, как в том же Jenkins'е к примеру. Решение было найдено на medium.com Для добавления номера сборки понадобятся следующие сервисы: AWS SSM (Systems Manager Parameter Store) AWS Lambda AWS CloudWatch AWS IAM   Создаем Parameter Store Переходим в сервис AWS Systems Manager —> Parameter Store … Продолжить читать "AWS — CodeBuild: Добавляем инкрементный номер сборки"

AWS — CodeCommit и CodeBuild собираем Docker образ и пушаем его в ECR

В данном примере рассмотрим создание репозитория в CodeCommit и сборку простого Docker образа при помощи CodeBuild и запушаем его в ECR. Создадим в CodeCommit репозиторий. Имя моего репозитория — "artem-test" Для того, чтобы работать с репозиторием убедитесь, что у вашего пользователя загружен SSH ключ. Если уже загружен, посмотрите его ID, он будет нужен.   Клонируем … Продолжить читать "AWS — CodeCommit и CodeBuild собираем Docker образ и пушаем его в ECR"

Amazon Linux 2 AMI — SFTP доступ

Все действия так же будет актуальны для CentOS систем. В данном примере будет добавлен пользователь для доступа через SFTP по SSH ключу в веб директорию под управлениям Apache. Есть дефолтная для Apache группа "apache", при необходимости замените на нужную. Все сайты живут по пути:   Добавляем пользователя sftpuser (уже в существующую группу): Дадим права группе … Продолжить читать "Amazon Linux 2 AMI — SFTP доступ"

FIX ERROR — Terraform: Instance Profile already exists

При попытке выполнить "terraform apply" в ходе выполнения на создании "IAM Profile" он завершается со следующей ошибкой:   Решение: При помощи AWS Cli найти IAM Profile и удалить его. Смотрим список существующих IAM Profile: Удаляем ненужный IAM Profile:

MongoDB

mongodump —db somedb —gzip —archive > dump_’date "+%Y-%m-%d"'.gz docker exec sh -c 'exec mongodump —db somedb —gzip —archive' > dump_’date "+%Y-%m-%d"'.gz exec mongodump -u root -p password —authenticationDatabase admin exec mongorestore -u root -p password —authenticationDatabase admin dump/

Nginx RTMP module

    Пример сборки Nginx'а с модулем RTPM на системе Ubuntu   Обновляем список пакетов и обновляем их:   Устанавливаем необходимые пакеты для сборки:   Список аргументов можно подсмотреть где-то на ноде с установленным Nginx с пакетного менеджера.  

FIX ERROR — Nginx: Зависимости при сборки с исходников

  В данном примере имена пакетов соответствуют DEB системам. PCRE ./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre= option. Решение:   … Продолжить читать "FIX ERROR — Nginx: Зависимости при сборки с исходников"

Elasticsearch — Копировать содержимое одного домена в другой

  Для того, чтобы скопировать все индексы с одного домена в другой воспользуемся утилитой elasticdump Для утилиты elasticdump нужнен npm, если их нет, то устанавливаем nodejs и npm:   Устанавливаем elasticdump:   Создадим скрипт, предварительно указав в переменных old_instance и new_instance URL своих ES доменов.   Делаем скрипт исполняемым и запускаем: Если в качестве Elasticsearch … Продолжить читать "Elasticsearch — Копировать содержимое одного домена в другой"