Дипломная работа: Автоматизация доставки программного обеспечения при помощи DevOps практик и инструментов в облаке AWS в компании ООО "Команда Лабс"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
106
Список использованной литературы
[1]
Постигая Agile. Ценности, принципы, методологии, Москва: Миф.
IT, 2019.
[2]
К. Рубин, Essential Scrum: A Practical Guide to the Most Popular Agile
Process, Pearson Education, 2013.
[3]
К. Моррис, Infrastructure as Code, O'Reilly, 2016.
[4]
«The Hospitality Industry Becomes a “HAPI-er” Place with the Launch
of HAPI’s Integrated Data Platform,» [В Интернете]. Available:
https://www.hospitalitynet.org/news/4088431.html.
[5]
Apache, «Kafka,» Apache Software Foundation, 2020. [В Интернете].
Available: https://kafka.apache.org/.
[6]
М. В. Андреас Виттиг, Amazon Web Services in Action, Manning,
2015.
[7]
Amazon, «Amazon Container Services,» [В Интернете]. Available:
https://aws.amazon.com/ru/ecs/.
[8]
Э. Моуэт, Использование Docker, Москва: ДМК, 2017.
[9]
Apache, «maven.apache.org,» Apache, [В Интернете]. Available:
https://maven.apache.org/.
[10]
Amazon, «Amazon Container Registry,» Amazon, 2020. [В Интернете].
Available: https://aws.amazon.com/ru/ecr/.
[11]
К. Д. У. Д. Х. Д. Патрик Дюбуа, Руководство по DevOps, Москва:
ООО Манн, Иванов и Фербер, 2018.
[12]
Amazon, «AWS Security Groups,» Amazon, 2020. [В Интернете].
Available:
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html.
[13]
Д. Айвалиотис, Администрирование сервера NGINX, Москва: ДМК,
2015.
107
[14]
Amazon, «Amazon IAM,» Amazon, 2020. [В Интернете]. Available:
https://aws.amazon.com/ru/iam/.
[15]
Amazon, «EC2,» Amazon, 2020. [В Интернете]. Available:
https://aws.amazon.com/ru/ec2/.
[16]
Ф. Д. Хамбл Джез, Непрерывное развертывание ПО. Автоматизация
процессов сборки, тестирования и внедрения новых версий программ,
Вильямс, 2016.
[17]
JetBrains, «TeamCity CI/CD Server,» JetBrains, 2020. [В Интернете].
Available: https://www.jetbrains.com/ru-ru/teamcity/.
[18]
Л. Хохштейн, "Запускаем Ansible" Простой способ автоматизации
управления конфигурациями и развертывания приложений, Москва: ДМК-
Пресс, 2018.
[19]
T. Fukuda, «Trivy - Vulnerability Scanner for Containers,» [В
Интернете]. Available: https://github.com/aquasecurity/trivy.
[20]
ElasticSearch, «ELK Stack,» в Elasticsearch, Kibana, Logstash и
поисковые системы нового поколения , Санкт-Петербург, Питер, 2018.
[21]
Athlassian, «OpsGenie Полное управление инцидентами для команд
разработчиков и ИТ-команд,» Athlassian, 2020. [В Интернете]. Available:
https://www.atlassian.com/ru/software/opsgenie.
[22]
Y. Brikman, Terraform: Up & Running: Writing Infrastructure as Code,
O'Reilly.
[23]
Amazon, «S3,» Amazon, 2020. [В Интернете]. Available:
https://aws.amazon.com/s3/?nc=sn&loc=0.
[24]
Amazon, «AWS Systems Manager,» Amazon, 2020. [В Интернете].
Available: https://aws.amazon.com/ru/systems-manager/.
[25]
Р. К. Джесс Рассел, Сетевая модель OSI, Книга по Требованию ,
2012.
108
[26]
Amazon, «RDS, Amazon Relational Database Service,» Amazon, 2020.
[В Интернете]. Available: https://aws.amazon.com/ru/rds/.
[27]
J. Turnbull, THE PACKER BOOK, 2017.
[28]
И. т. —. М. о. б. —. С. у. и. б. —. Требования, ISO/IEC 27001:2013.
[29]
S. S. Council, «PCI DSS,» Security Standarts Council, [В Интернете].
Available: https://ru.pcisecuritystandards.org/minisite/env2/.
[30]
И. технология, Системная и программная инженерия. Процессы
жизненного цикла программных сред, 01.03.2010.
[31]
В. Л. Р.Г. Асадуллаев, Системный анализ и управление, Белгород:
Научные ведомости, 2017.
[32]
Ф. А. П. Т. Р. И. МЕТРОЛОГИИ, Информационные технологии.
Системная и программная инженерия. УПРАВЛЕНИЕ ЖИЗНЕННЫМ
ЦИКЛОМ. Часть 2. Руководство по применению ИСО/МЭК 15288, Москва:
Стандартинформ, 2016.
[33]
B. Dorn, «more set headers,» 2017. [В Интернете]. Available:
https://github.com/openresty/headers-more-nginx-module.
[34]
Amazon, «AWS AMI,» Amazon, [В Интернете]. Available:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html.
[35]
Amazon, «CloudWatch,» Amazon, 2020. [В Интернете]. Available:
https://aws.amazon.com/ru/cloudwatch/.
109
Приложения
Запуск сборки на сервере интеграции с разворачиванием сервисов
в ECS
#!/bin/bash
%aws_access%
echo "Account keys is " $AWS_ACCESS_KEY_ID
$AWS_SECRET_ACCESS_KEY
export AWS_DEFAULT_REGION=%region%
PROJECT_LOCATION=$(eval pwd)
echo project location is $PROJECT_LOCATION
PATH_TO_TASK_DEFENITION=%path_to_json%
vers=%maven.project.version%
VERSI="${vers//[!0-9\.]/}"
echo $vers
echo $VERSI
JSON=.json
FILE=file://
CLUSTER=%cluster_env%
ECR_ID=%ecr_id%
ENV=%infra%
PROJ=hapi-
SLASH=/
DASH=_
echo $PROJECT_LOCATION
cd $PROJECT_LOCATION
BUILD_NUMBER=%build.number%
GIT_HASH=%build.vcs.number.Hapi_ProdEu_Bitbucket%
echo $GIT_HASH
GIT_HASH_SHORT=${GIT_HASH:0:7}
echo $GIT_HASH_SHORT
110
version=`echo $ENV$DASH$VERSI`
echo 'Version will be used:' $version
#echo "##teamcity[buildNumber
'$BUILD_NUMBER.${GIT_HASH_SHORT}']"
GIT_TAG=$GIT_HASH_SHORT
find . -name "report*.txt" -exec rm -rf {} \;
cd %system.teamcity.build.workingDir%
#install trivy
#export TRIVY_VERSION=$(curl --silent
"https://api.github.com/repos/knqyf263/trivy/releases/latest" | grep '"tag_name":' | sed
-E 's/.*"v([^"]+)".*/\1/')
#wget
https://github.com/knqyf263/trivy/releases/download/v${TRIVY_VERSION}/trivy_
${TRIVY_VERSION}_Linux-64bit.tar.gz
#tar zxvf trivy_${TRIVY_VERSION}_Linux-64bit.tar.gz
find . -name Dockerfile | while read -r d; do
part1=`dirname "$d"`
part2=`basename "$d"`
echo 'Folder is ' $part1
# Currently next applications are excluded from deployment process, as
aren't used
if [[ ! ($part1 == *"test-message-receiver"* || $part1 == *"roomkey-
producer"* || $part1 == *"logus-producer"* || $part1 == *"sample-app"* || $part1 ==
*"rlh-il-consumer"* || $part1 == *"generic-router"* || $part1 == *"generic-
transformer"*) ]]; then
FULL_HAPI_APP_NAME=`echo "$part1" | sed 's#./##'`
FULL_HAPI_REPO_NAME=`echo
$PROJ$ENV$SLASH$FULL_HAPI_APP_NAME`
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
Источник: https://baza.diplomsite.ru/previewfile/1758