GitHub Actions - CICD Pipeline Python Flask приложения в AWS с НУЛЯ

  Рет қаралды 32,795

ADV-IT

ADV-IT

Күн бұрын

Пікірлер: 101
@АндрейБелый-ъ6х
@АндрейБелый-ъ6х 2 жыл бұрын
Спасибо!
@ADV-IT
@ADV-IT 2 жыл бұрын
Спасибо тебе!
@РусланШамсудинов-ь3ъ
@РусланШамсудинов-ь3ъ 3 жыл бұрын
Здравствуйте, Денис! Прелесть этого урока в том, что он довольно практичный. Было бы супер выпускать и далее подобные уроки, изменяя технологию. Например, Github Actions поменять на Jenkins, AWS - на Docker, добавить во всё это Ansible и так далее. Количество просмотров и подписок возрастёт к тому же, думаю. Спасибо вам.
@namepunk
@namepunk 5 жыл бұрын
Спасибо за ваши труды, очень интересно
@valentinemurnik4424
@valentinemurnik4424 16 күн бұрын
Спасибо, очень полезный материал, все ясно и доходчиво!)
@КсенияСидельникова-о3г
@КсенияСидельникова-о3г 4 жыл бұрын
Спасибо большое, все ваши курсы очень полезны. Чёткое и понятное объяснение, все по существу. Не раз помогало мне в работе.
@alisherrakhimov1997
@alisherrakhimov1997 Жыл бұрын
Cпасибо, Денис. Ребята, имейте ввиду что нужно обязательно первым делом иметь готовый MyFlask и MyFlask-env, то есть создать вручную(так проще, либо посмотрите туториал Дениса по Flask) А то новички не поймут почему --create-application-version и update-environment падают.
@evgeniyderevyanko4778
@evgeniyderevyanko4778 3 жыл бұрын
Спасибо большое, дающий знания нуждающимся, и от меня 400й лайк))
@ЕвгенийХодченков-у4ю
@ЕвгенийХодченков-у4ю 2 жыл бұрын
Спасибо мужик. Очень хорошо зашло, все понятно! я начинающий , всегда работал в менеджменте, закончил курсы QA , доучиваюсь по твоему каналу. Последние два видоса из курса GitHub были для меня из серии очень интересно, но ничего не понятно!)) вернусь к ним еще раз позже! ))
@ЕвгенийХодченков-у4ю
@ЕвгенийХодченков-у4ю 2 жыл бұрын
Вернулся, пересмотрел, все круто зашло, все получиолсь! )))
@killer_nokia
@killer_nokia 5 жыл бұрын
Кстати, очень актуальная тема. Недавно курсы прошел на девопса, где мейн таск была задеплоить аппку Spring-petclinic с гита через дженкинс в AWS ECS Cluster з апплоадбалансером, скейлингами, алертами и рдс для аппки. Ручками в дженкинсе оно то легко делается, но вот всю часть по АВС делали клаудформешеном. Видосы твои помогали по кластеру и балансерам как могли, но вот по клаудформешену одного мало было. Пришлось серфить, как боженька)) Очень на челлендж твой похоже.
@ADV-IT
@ADV-IT 5 жыл бұрын
Да тема крутая, меня попросили на английском эти же два урока записать. Вот только перезаписал, опубликую тут скоро
@killer_nokia
@killer_nokia 5 жыл бұрын
@@ADV-IT Ну тогда ждем с нетерпением))
@vagifk2864
@vagifk2864 4 жыл бұрын
А какие курсы проходил, не эти? - otus.ru/lessons/devops-praktiki-i-instrumenty/
@killer_nokia
@killer_nokia 4 жыл бұрын
@@vagifk2864 Нет. Проходил вот-такие, но в Украине. www.epam-group.ru/careers/epam-devops
@akkh6971
@akkh6971 4 жыл бұрын
@@killer_nokia оффлайн?
@Imperfectwow
@Imperfectwow 2 жыл бұрын
очень классное обьяснение! супер! лайк и подписка - продолжай в том же духе!
@MarcusZatt
@MarcusZatt 4 жыл бұрын
Спасибо! Все действительно выглядит очень просто...когда делает профи)
@Lenorag
@Lenorag 4 жыл бұрын
огромное спасибо, всё понятно, даже начинающему
@romawrestling
@romawrestling 4 жыл бұрын
Спасибо Денис! Лучший! Очень все доступно !)))
@iuliiasmirnova3057
@iuliiasmirnova3057 2 жыл бұрын
ОГРОМНОЕ спасибо за этот ролик!!!!!
@akkh6971
@akkh6971 4 жыл бұрын
Отличная инструкция!!! Подписка
@romantsyupryk3009
@romantsyupryk3009 5 жыл бұрын
Большое спасибо Денис.
@dmphxzrche288
@dmphxzrche288 2 жыл бұрын
Спасибо, все получилось! Крутой курс!
@daredeviii6865
@daredeviii6865 4 жыл бұрын
Годный контент. Спасибо огромное!
@bodya5645-e5l
@bodya5645-e5l Жыл бұрын
Спасибо за урок!
@dyg6945
@dyg6945 Жыл бұрын
Супер! Спасибо!!!
@Shindos-Kopernik
@Shindos-Kopernik 3 жыл бұрын
Супер! Отличная работа.
@vadimprudnichenko6561
@vadimprudnichenko6561 4 жыл бұрын
Как обычно объяснение материала на высоте.)
@Dmitrii-Kalashnikov
@Dmitrii-Kalashnikov 3 жыл бұрын
Este es excelente u estupendamente. Gracias don Denis !
@ilyayaruk7583
@ilyayaruk7583 4 жыл бұрын
Урок просто супер. Спасибо!
@Vaaasi4
@Vaaasi4 3 жыл бұрын
Спасибо! Просто офигенно
@sergiimarchuk6405
@sergiimarchuk6405 2 жыл бұрын
Good knowledge, thank you.
@ADV-IT
@ADV-IT 2 жыл бұрын
Glad it was helpful!
@egorkomarov4719
@egorkomarov4719 4 жыл бұрын
Благодарю от души!!!
@viktorkrechikov7293
@viktorkrechikov7293 Ай бұрын
Greate!Thanks!!
@Cycylinka
@Cycylinka 4 жыл бұрын
Спасибо Спасибо Спасибо Денис !!!
@TheKievsash
@TheKievsash 2 жыл бұрын
Бомба
@antonnat7970
@antonnat7970 Жыл бұрын
одним кликом теперь beanstalk не создать, теперь авс требует чтоб сами добавляли сервис роль и EC2 instance profile (роль), в остальном все актуально, спасибо.
@andreykulikov3760
@andreykulikov3760 4 жыл бұрын
Круто! Супер!
@barma1309
@barma1309 4 жыл бұрын
Круто!
@maximumbadula2385
@maximumbadula2385 Жыл бұрын
спасибо ден за твои труды, ты реально очень много головняка убираешь) и еще такой вопрос лучше переспросить) все что ты делал в aws в этом уроке это бесплатно ? я спрашиваю потому что боюсь что снимет мои последние 100 шекелей))))) а то помню поднял виртуалки и вижу как с карточки улетели мои родные ))
@ADV-IT
@ADV-IT Жыл бұрын
бесплатно если ec2 размера t2.micro и диск не больше 30GB
@maximumbadula2385
@maximumbadula2385 Жыл бұрын
@@ADV-IT спасибо большое за ответ ☺️
@sammygun84
@sammygun84 Жыл бұрын
Спасибо за очень крутой урок !!! Интересно, что думаешь про GitLab CI CD ? Что лучше на твой взгляд?
@ADV-IT
@ADV-IT Жыл бұрын
И то и то хорошо, если твой код на GitLab то используй GitLab CICD если твой код на GitHub то используй GitHub Actions
@zcbesaba
@zcbesaba 2 жыл бұрын
что-то мне подсказывает, что если креды пропустить через base64 то вполне эти креды можно прочитать
@yodapunishes
@yodapunishes 5 жыл бұрын
Спасибо, очень круто! А гитхаб каждый раз новую виртуальную машину создаёт, или привязывает её к аккаунту? Можно ли деплоить на голый линукс-сервер по ssh?
@ADV-IT
@ADV-IT 5 жыл бұрын
1. Каждый запуск новый Runner запускается. 2. Можно, даже уже есть скрипты деплоя по ssh готовые
@vandriichuk
@vandriichuk 3 жыл бұрын
Класс. Спасибо ) Скинул пару баксов за труды ) Не могли бы подсказать как сюда же включить еще и PostgreSQL (приложение на Flask использует PostgreSQL)? Ну и на самом AWS как поднять приложение Flask с PostgreSQL как?
@on3p3301
@on3p3301 5 жыл бұрын
Супер! Спасибо за видео! Не приходилось сталкиваться с такой задачей - отдельный деплой под отдельный пулл реквест ? чтобы потом можно было отдельно открывать приложения под отдельный ПР аля my-app.com/PR-number/main для проверки отдельной фитчи например? Если да - как бы вы это организовали на AWS в кратции ? :)
@bohdanmartyniv7087
@bohdanmartyniv7087 3 жыл бұрын
Все получилось, но не понял зачем application.py и requirements.txt, за что они отвечают? Без них ничего не работает
@dmitry_5525
@dmitry_5525 3 жыл бұрын
Не получается все сделать по уроку. Видимо появились какие то изменения в GitHub и AWS. 1. название основного branch не master, а main 2. при создании bucket c названием adv-it-flask-application-packages ошибка, так как он видимо не может быть таким же названием даже у разных пользователей. создал с названием adv-it-flask-application2-packages. В AWS почему то нет сверху значков быстрой навигации. 3. Когда запускаю скрипт, появляется ошибка Run aws elasticbeanstalk create-application-version \ An error occurred (InvalidParameterValue) when calling the CreateApplicationVersion operation: Application Version Ver-&{{ github.sha }} already exists. Error: Process completed with exit code 255.
@ADV-IT
@ADV-IT 3 жыл бұрын
Всё тоже самое, просто надо знать чуть чуть aws
@dmitry_5525
@dmitry_5525 3 жыл бұрын
@@ADV-IT В bucket удалось zip закинуть, а страницу нет, а вообще все остальное по теме GitHub получилось сделать. Денис, большое спасибо за уроки!
@dmitry_5525
@dmitry_5525 3 жыл бұрын
@@ADV-IT Сервер так побежал, что не могу его догнать и удалить, его s3 bucket вновь и вновь создает, а сам bucket не могу удалить из-за ошибки Insufficient permissions to delete bucket After you or your AWS admin have updated your IAM permissions to allow s3:DeleteBucket, choose delete bucket. Learn more about Identity and Access Management in Amazon S3 API response Access Denied Хотя я root... Написал в службу поддержки.
@dmitry_5525
@dmitry_5525 3 жыл бұрын
Помогла инструкция Navigate to S3 Console. Select the bucket that you have lost access to. You will get an "Access Denied" error message. Ignore the the error message and click on the 'Permissions' tab. Next click on 'Bucket Policy' tab and choose 'Delete'.
@ДмитрийОрешин-т2щ
@ДмитрийОрешин-т2щ 4 жыл бұрын
Привет, Дэн) подскажи, при создании в beanstalk аппки , под health написано no data и минус в круге! Что за фигня?))
@ADV-IT
@ADV-IT 4 жыл бұрын
аппка не подаёт признаков жизни
@Xelamus
@Xelamus 2 жыл бұрын
Интересно, но пока сложно для меня. Что изучить, чтоб проще было понимать как писать и что писать в yaml? Спасибо
@ADV-IT
@ADV-IT 2 жыл бұрын
Ansible
@Nick_Alexeyev
@Nick_Alexeyev 4 жыл бұрын
Денис, подскажите, пожалуйста. Где во всей этой конфигурации прописано на каком порту должно быть запущено flask-приложение и что, собственно, его запускает? Пока не изменил application.py с явным указанием application.run(host='0.0.0.0', port=8000) и пока на ЕС2-машинке не его вручную не запустил, nginx выдавал 502-ю ошибку (bad gateway)
@ADV-IT
@ADV-IT 4 жыл бұрын
По умолчанию порт 80 везде
@ADV-IT
@ADV-IT 4 жыл бұрын
kzbin.info/www/bejne/p2XcZmR9g5anp8U
@ysbase-cl2pf
@ysbase-cl2pf 2 жыл бұрын
@Hank Rearden так у тебя не получилось найти решения тоже?сижу ломаю голову(
@El18Cucuy
@El18Cucuy 4 жыл бұрын
ты настраивал кластеры? у нас к примеру corosync/pacemaker. пользовался ли ты DRBD,Ceph,Gluster. в можно ли aws bean приложение в EKS использовать
@ADV-IT
@ADV-IT 4 жыл бұрын
DRBD,Ceph,Gluster. не пользовался и даже никогда не слышал такие матюки
@El18Cucuy
@El18Cucuy 4 жыл бұрын
@@ADV-IT а как тогда кластер строишь?)
@ADV-IT
@ADV-IT 4 жыл бұрын
Кластеры чего?
@El18Cucuy
@El18Cucuy 4 жыл бұрын
@@ADV-IT серверов. Linux HA. К примеру мульти Клауд отказоустойчивый
@ADV-IT
@ADV-IT 4 жыл бұрын
@@El18Cucuy Terraform
@АндрейДаниленко-з8р
@АндрейДаниленко-з8р 4 жыл бұрын
Спасибо за ваш курс очень интересно. А возможно таким же образом развернуть приложение docker compose и не понимаю имеет ли смысл мне это делать, так как для приложения необходимо много видеопамяти, а информацию по характеристикам серверов на которых деплоится приложение я не нашел
@aleksreingand
@aleksreingand 4 жыл бұрын
Hey! Denis, How I can know, where do I need write sign equal and quotes? When I try repeat the command -> (aws elasticbeanstalk create-application-version --application-name ${{ env.EB_APPLICATION_NAME }} --source-bundle S3Bucket="${{ env.EB_PACKAGE_S3_BUCKET_NAME }}",S3Key="${{ env.DEPLOY_PACKAGE_NAME}}" --version-label "Ver-${{ github.sha }}" --description "CommitSHA-${{ github.sha }}") I catch a lot of syntax errors.
@ADV-IT
@ADV-IT 4 жыл бұрын
1. In documentation. 2. Check my example on GitHub
@maliy_ct
@maliy_ct 4 жыл бұрын
А где брали команды Run, которые идут после Create new EB..?
@ADV-IT
@ADV-IT 4 жыл бұрын
В документации AWS
@ЄвгенКоломійчук
@ЄвгенКоломійчук 2 жыл бұрын
An error occurred (InvalidParameterValue) when calling the CreateApplicationVersion operation: No Application named 'MyFlask' found. Error: Process completed with exit code 254. У меня такая проблема, что не делаю, она не фиксится. Можете подсказать в чем проблема?
@ADV-IT
@ADV-IT 2 жыл бұрын
Application named 'MyFlask' found. Сделай Elastic Beanstalk application с названием MyFlask
@vagifk2864
@vagifk2864 4 жыл бұрын
А есть возможность соединить с GitLabom?
@ADV-IT
@ADV-IT 4 жыл бұрын
У GitLab по другому
@siriusdiamond
@siriusdiamond 4 жыл бұрын
secret_key github для паблик репозиториев если кто нибудь делает форк скопируются ?
@ADV-IT
@ADV-IT 4 жыл бұрын
Нет, попробуй сделай fork на мой, увиишь что там нету SECRETS
@ДмитрийОрешин-т2щ
@ДмитрийОрешин-т2щ 4 жыл бұрын
разобрался почти до конца, но тут уперся).. какая-то ошибка в part2 -cd у меня - (Parameter validation failed: Unknown parameter in SourceBundle: "S3bucket", must be one of: S3Bucket, S3Key Unknown parameter in SourceBundle: "S3key", must be one of: S3Bucket, S3Key), вроде все правильно в коде, моу скинуть скрин...
@ADV-IT
@ADV-IT 4 жыл бұрын
Сравни с моим github.com/adv4000/github-actions-part-2-cicd-to-aws/blob/master/.github/workflows/main.yml
@ДмитрийОрешин-т2щ
@ДмитрийОрешин-т2щ 4 жыл бұрын
ADV-IT блин)) bucket с маленькой был
@rlevvv
@rlevvv 3 жыл бұрын
Вопрос оффтоп: kzbin.info/www/bejne/gIbdmatpibyigNk я один слышу как на заднем плане плачет ребенок?
@ADV-IT
@ADV-IT 3 жыл бұрын
Так и есть :)
@alex-g1
@alex-g1 2 жыл бұрын
Делюсь опытом-может кому то поможет! Не работало изначально. Мои грабли, на которые наступил: 1. Elastic Beanstalk был у меня создан по умолчанию в другом регионе, отличном от s3 (github actions ругался что такого аппликации (Flask) нет. Перенёс в один регион. Деплой из Github actions - всё ок, говорит,теперь. 2. AWS Elastic Beanstalk ругается: HEALTH:Degraded , WARN (Environment health has transitioned from Degraded to Severe. 100.0 % of the requests are failing with HTTP 5xx. ELB processes are not healthy on all instances. Application update completed 71 seconds ago and took 67 seconds. ELB health is failing or not available for all instances. Impaired services on all instances.) и WARN (Environment health has transitioned from Ok to Degraded. Application update in progress. 1 out of 1 instance completed (running for 58 seconds). Impaired services on all instances.) . Пофиг-перехожу по ссылке- блокировка сервиса провайдером (мобильный оператор РФ) - ошибка-мол низя сюда-иди нафиг,мол. Открыл через другого провайдера - ошибка(502 Bad Gateway). 3. -Ставил разные коды примеры FLASK в файл --application.py-- - гружу вручную - такая же ошибка (502)- . Что помогло: добавил в файл requirements.txt зависимости: " click==8.0.3 Flask==1.1.2 itsdangerous==2.0.1 Jinja2==3.0.3 MarkupSafe==2.0.1 Werkzeug==2.0.2 " Особо не парился-возможно хватит какой то одной строки, суть что с этим начало работать. После загрузки проекта с поправленным requirements.txt , статус сменился на HEALTH : warning , немного так постоял, секунд через 30 - HEALTH : OK . Самое интересное!!! если грузить туда же в этот AWS ElasticBeanstalk старые версии - с requirements.txt в котором лишь Flask==1.1.1 , работает нормально. Если сделать новый Beanstalk - повторяется та же ошибка до момента, пока один раз ему не скормишь поправленный requirements.txt , после этого читает любые версии. ( Этого комментария мне здесь не хватало, когда искал в чём же ошибка может быть) Update: *3 пункт неактуален*
@ADV-IT
@ADV-IT 2 жыл бұрын
Да, видать изменили docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html
@ADV-IT
@ADV-IT 2 жыл бұрын
PR Merged!
@Julia-fg9zj
@Julia-fg9zj 3 жыл бұрын
А почему в bucket скопировался .zip файл ведь команда была run: aws s3 cp ${{ env.DEPLOY_PACKAGE_NAME}} s3://${{ env.EB_PACKAGE_S3_BUCKET_NAME }}/ по идеи должна же быть ошибка что такого файла нет и команда должна выглядеть так: run: aws s3 cp ${{ env.DEPLOY_PACKAGE_NAME}}.zip s3://${{ env.EB_PACKAGE_S3_BUCKET_NAME }}/ простите если туплю но можете обьянснить?
@ADV-IT
@ADV-IT 3 жыл бұрын
DEPLOY_PACKAGE_NAME : "flask_app_${{ github.sha }}.zip"
@ADV-IT
@ADV-IT 3 жыл бұрын
тут есть .zip
@ADV-IT
@ADV-IT 3 жыл бұрын
github.com/adv4000/github-actions-part-2-cicd-to-aws/blob/master/.github/workflows/main.yml#L14
@Julia-fg9zj
@Julia-fg9zj 3 жыл бұрын
@@ADV-IT спасибо Денис! я была не внимательна
@ЕвгенийХодченков-у4ю
@ЕвгенийХодченков-у4ю 2 жыл бұрын
Добрый вечер, повторил все как на видео, пол дня ковыряю уже, в GitHub все ок, отработало, все зеленое. Но по факту сайт не работает. Elastic Beanstalk выдает ошибку. "Service:Amazon S3, Message:Access Denied: S3Bucket=elasticbeanstalk-eu-west-3-650049487807, S3Key=resources/environments/e-auzni9hnup/_runtime/_embedded_extensions/MyFlask/8145d188696b3cd1850ab318360cb6de" P.S. У юзера AmazonS3FullAccess поставил.
@ADV-IT
@ADV-IT 2 жыл бұрын
А у меня все работает. Ищи ошибки.
@ADV-IT
@ADV-IT 2 жыл бұрын
Encryption проверь тоже
@Y_K_5496
@Y_K_5496 3 жыл бұрын
Спасибо за ваши уроки! Очень помогают!
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59
SIZE DOESN’T MATTER @benjaminjiujitsu
00:46
Natan por Aí
Рет қаралды 4,1 МЛН
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 7 МЛН
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 138 МЛН
Kubernetes 101 workshop - complete hands-on
3:56:03
Kubesimplify
Рет қаралды 1,7 МЛН
CI CD наглядные примеры
22:08
Ulbi TV
Рет қаралды 297 М.
The IDEAL & Practical CI / CD Pipeline - Concepts Overview
22:36
Be A Better Dev
Рет қаралды 491 М.
Deploy to AWS with Terraform within a GitHub Action
18:05
CloudScalr
Рет қаралды 45 М.
Морозов Иван собеседование python junior разработчик
1:02:31
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59