Jenkins - Deploy в AWS Elastic Beanstalk - Пример решения задания на интервью для DevOps Engineer
HTML-код
- Опубликовано: 14 окт 2024
- #devops #девопс #jenkins #pipeline
12-Jenkins - Deploy в AWS Elastic Beanstalk - Пример решения задания на интервью для DevOps Engineer
Если помог, поддержите парой баксов, хотябы Канадских :) www.paypal.me/...
Красавчик, Денис, огромный респект тебе.
просто идеальный канал, чтобы новичку вливаться в сферу девопса
За уроки Respect и Уважуха. Супер, особенно если с английским не АХ и нужно понять русско-украинско-говорящим!
Сегодня, 25 января 2023, столкнулся с маленькой проблемкой: ругнулся AWS, при повторном выполнении Jobа Jenkins не прочитал в параметре Version Label Format - $(BUILD_ID), нужно без скобок $BUILD_ID !!!
В остальном всё супер, спасибо!
Привет из апреля 2022! )
Уроки: годнота из годнот!!! Всё стало конкретно понятно по технологии Jenkins! Теперь буду использовать в работе!
Автору большущий респект!
А Kubernetes по чьим курсам учили, если не секрет? Я нашёл Basic от Slurm-a. Так они за 50к предлагают. А Мега за 70 или 90. Но вроде как и базового достаточно, чтобы сертификацию сдать по их словам, значит примут и без неё.
@@vasilytretiakov8943 У adv-it есть курс по kurbernetes
Да, объяснение хорошее, подача материала отличная, да и просто человек приятный в общении. Большое вам спасибо, Денис!
Спасибо! Все, как обычно, очень круто!
Так чётко, что ну вообще!
Просто, вразумительно и понятливо. Всё в стиле Дениса.
Не устаю пересматривать этот канал.
Работа уже нашлась благодаря ему))
СПАСИБИЩЕ ЗА ТАКУЮ ГОДНОТУ!
Поздравляю с работой!
@@ADV-IT спасибо ещё раз))
Супер! Однозначно стоит смотреть, те кто сюда не дошел многое потеряли!
Успехов вам в наступающем году=)
Работает в 2022 ))спасибо за видео! незабыть поменять master на main
и в самом AWS: AWSElasticBeanstalkReadOnly и AdministratorAccess-AWSElasticBeanstalk
мне хватило одного AdministratorAccess-AWSElasticBeanstalk
Привет из марта 2024!
Всё до сих пор отлично работает, только плагин теперь называется "AWSEB Deployment"
Отличный урок! Благодарность автору!
Ты реально, красавчик! Спасибо большое!
Ден огромное спасибо, отличный курс по Jenkins а этот урок особенно крут и пригодится Всего наилучшего тебе!
Чуваак, чтоб так все технологии в ИТ так поясняли =) и даже книги после этого не страшно читать, т.к. представление и суть уже есть в голове. Удачи и процветания!
Всё настолько просто с AWS, аж страшно отупеть от того, что всё настраивается в два клика)))
Спасибо большое за видео, очень понравилось + пунктик в резюме, ещё пару недель и буду искать первую работу в ай-ти )) Поздравляю со 100000🎊🎉
Это, просто, ахуенно. Простите мне мой французский, пожалуйста.
Спасибо
Полезно и все понятно! Спасибо!
Лучший!
23.15 классный рингтончик :)
Iron Maiden
Класс!
Молодец супер спс
Круто , спасибо.
а ты все и всегда делаешь на ноутбуке ?
С 2008 года только Laptop
@@ADV-IT неужели это удобно? я все никак не могу свои 24" монитора променять на ноут, его я только в поездки беру....
@@ttsrg к laptop у меня на столе подключены еще 2 монитора ruclips.net/channel/UC-sAMvDe7gTmBbub-rWljZgcommunity?lb=UgxBJ2139YVL8dcjWCt4AaABCQ
Спасибо за ваш труд! Подскажите, возможно планируете серию видео по Kubernetes?
Да думаю сделаю
אתה תותח על!
Супер пупер))
Спасибо за урок эх жаль наверное твои уроки по Амазону начальные которые уже устарели очень интересно рассказываешь. Эх где я был два года назад )
Кстати как поживает твой легендарный Asus еще работает или уже на что-то другое поменял?
Работает! Уже 4.5 года, вот прям щаз с него тебе ответ пишу, работат супер!
Буду менять после 100.000 подписчиков.
@@ADV-IT Пора!=))
класс
спасибо, как всегда, за интересную подачу материала, а как по факту выглядело условие задания, сколько времени отводилось, что разрешалось использовать, территориально где его можно было делать и в каком виде нужно было предоставлять решение?
Дают день-два. Используй что хочешь и где хочешь.
На интервью после задания, показываешь и рассказываешь что и как делал, делаешь demo.
Я в одном видео про Как искать работу показал как выглядит задание.
Спасибо Денис, как всегда замечательно, на этом Jenkins закончился?
Нет, еще скрипты и Jenkinsfile
Super :)
@@ADV-IT ролик по Jenkinsfile не осилил сделать? :)
Привет, будут ли уроки по puppet, chef, kubernetes, Docker Swarm, dokku?
По Puppet нет.
По Chef нет.
Пo Docker Swarm нет.
По Dokku нет.
По kubernetes да.
@@ADV-IT спасибо
Денис, а сам Jenkins и сервак у тебя крутились тоже на AWS только в другом регионе? И второй вопрос, на время обучения стоит ли выключать сервера на AWS для сохранения трафика, или его немного тратиться? Просто, когда выключаешь сервера, то Ip потом меняются, и приходится перелопачивать конфиг Jenkins.
Всё было на AWS, чтобы IP не менялся приаттач Elastic IP
@@ADV-IT а как деньги списывает AWS, по накоплению, или режиме он-лайн? Не знай, как было в то время, когда ты видео снимал, но сейчас Beanstalk на два сервера платный)
@@ADV-IT , Денис, у тебя есть в обучении по AWS, как Elastic IP приатаччить?
Увидел, есть, спасибо)
Каждый месяц по накоплению.
Спасибо большое тебе Динис. Твои уроки очень хорошие, очень много в чём помогаю разобраться.
У меня есть вопрос.
Ти говорил что можно изменить версию PHP на другую версию PHP.
Можешь объяснить как или сослаться на какой-то ресурс.
У меня приложение на Java 11 а Elastic Bean идёт по умолчанию с версией Java 8.
Заранее благодарю.
Ещё раз больше тебе спасибо за то что ты думаешь.
docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.java
Там пока только Java 7 и Java 8
@@ADV-ITБольшое спасибо те Денис ещё раз. Буду уже знаете это.
добрый день ) посмотрел видео , большое спасибо за урок , может подскажите почему при попытке деплоя с помошью ноды а не самого дженкинса , джоба падает с ошибкой ? при этом с самого дженкинса всё нормально деплоиться , но дженкинс с нодами ругается что мол не секьюрно пользуйся нодами не трожь мастер )))
100500 причин, читай ошибку. Одна из них: у Node нету доступа к серверу.
@@ADV-IT первым делом полез смотреть конечно в чем ошибка ) но честно сказать сей вывод мне ничего путного не сказал :
AWSEB Deployment Plugin Version 0.3.21 (aws-java-sdk version: 1.11.995)
FATAL: Deployment Failure
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to amazon1
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1795)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel$2.adapt(Channel.java:1035)
at hudson.remoting.Channel$2.adapt(Channel.java:1031)
at hudson.remoting.FutureAdapter.get(FutureAdapter.java:60)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.DeployerRunner.perform(DeployerRunner.java:64)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSEBDeploymentBuilder.perform(AWSEBDeploymentBuilder.java:243)
at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSEBDeploymentBuilder.perform(AWSEBDeploymentBuilder.java:79)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:21)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:808)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:164)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:516)
at hudson.model.Run.execute(Run.java:1911)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:100)
at hudson.model.Executor.run(Executor.java:433)
java.lang.RuntimeException: Missing Jenkins Instance
at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSClientFactory.lookupNamedCredential(AWSClientFactory.java:96)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSClientFactory.getClientFactory(AWSClientFactory.java:85)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.cmd.DeployerCommand$InitAWS.perform(DeployerCommand.java:143)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.cmd.DeployerChain.perform(DeployerChain.java:54)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.SlaveDeployerCallable.call(SlaveDeployerCallable.java:42)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.SlaveDeployerCallable.call(SlaveDeployerCallable.java:27)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:376)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused: java.util.concurrent.ExecutionException
at hudson.remoting.Channel$2.adapt(Channel.java:1037)
at hudson.remoting.Channel$2.adapt(Channel.java:1031)
at hudson.remoting.FutureAdapter.get(FutureAdapter.java:60)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.DeployerRunner.perform(DeployerRunner.java:64)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSEBDeploymentBuilder.perform(AWSEBDeploymentBuilder.java:243)
Caused: java.io.IOException: Deployment Failure
at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSEBDeploymentBuilder.perform(AWSEBDeploymentBuilder.java:245)
at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSEBDeploymentBuilder.perform(AWSEBDeploymentBuilder.java:79)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:21)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:808)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:164)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:516)
at hudson.model.Run.execute(Run.java:1911)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:100)
at hudson.model.Executor.run(Executor.java:433)
Finished: FAILURE
както решыл даную проблему?
@@bohdanmartyniv7087 change version php in Elastic Beanstalk
@@ADV-IT у меня та же ошибка. если отключить ноду и дать серверу jenkins право билдить, то все ок. доступ у ноды к серверу (jenkins) есть, другие-то работы выполняются. более того, у меня сервер вообще не билдит по умолчанию ничего. только нода. вот и вопрос, куда рыть..
Было бы хорошо если бы у тебя был еще btc кошелек, для доната, мы славяне, пэйпал оч редко юзаем
Низкий тебе поклон
ПС на linuxacademy очень хорошо структурирован вводный курс по kubernetes - Kubernetes Essentials. Могу пошарить перечень тем, кому нужно с описанием лаб и описанием лекций.
не правда) пользую уже года 3-4, остальные не использую вообще.
@@nikitakabanow3222 я о том, что пэйпал мало распространен в наших странах, покрайней мере в Украине, в России дела обстоят немного по другому
@@mykolaprokopenko318 я тебя понял) но вот пишу тебе из Киева) Это наверное больше какой сервис какую оплату принимает. Те которые удобно через палку ее и принимают). Понятно что все индивидуально, просто я бы не проецировал свой опыт на других)) С уважением.
Денис а когда по очереди новый ролик о Jenkins?
Да надо заснять про groovy scriptы следующий, всё никак не сяду
Думаю скоро :)
Cервер AWS Elastic Beanstalk в любой конфигурации платный? Сделал все как в этом уроке, только указал минимально один сервер и реально был один в Instances на след. день стали снимать небольшую сумму.
Посмотри за что начали снимать
@@ADV-IT Lightsail
$0.34
EU (Frankfurt)
Amazon Lightsail Bundle:0.5GB$0.34
$0.00 / Hour of 0.5GB bundle Instance free trial114.000 Hrs$0.00
$0.0047 / Hour of 0.5GB bundle Instance72.000 Hrs$0.34
удалил Lightsail, не могу понять как он мог появиться. Мне какжется в AWS не хватет наглядности используемых сервисов, то есть можно на что то обратить внимание, только когда уже начинаются начисления.
Добрый день, подскажите как jenkins знает куда стучаться на какой адрес aws?
Все происходит благодаря AWS_ACCESS_KEY и AWS_SECRET_KEY
Подскажите, плиз. Я недавно на юдеми, и не могу понять. Сейчас тамм пишется стоимость курсов n рублей и скидки 80 95%. Это всегда там так, или сейчас сезон просто такой. Купил несколько курсов, и вот думаю, успевать покупать ещё какие-то, пока скидки, или для начала то что уже приобрел пройти, если там всегда так
Там всегда скидки, по моему опыту там ничего не продаётся выше 15$
@@ADV-IT спасибо!
привет. спасибо за отличный урок. не знаю как у других, но у меня установить spring boot application with maven не удалось таким образом. возникла вот такая ошибка "During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version." если вдруг кто-то столкнется с таким же - пишите, расскажу как пофиксил. но хотел бы задать вопрос: честно говоря, не смог найти инфы по установке Jenkins-сервера на тот же elastic beanstalk. может, есть на этом канале, а я не нашёл, или можете поделиться инфой о том, как это делается? зараннее спасибо)
можешь использовать ebextension но это как-то криво, Elastic Beanstalk не для Jenkins.
Привет а как сделать чтобы Job запускался только если происходят изменения в ОПРЕДЕЛЕННОЙ директории а не во всей мастер ветке на Github? Например, есть ветка master в ней 2 директории: Директория1 и Директория2. Как сделать чтобы джоб запускался через github-webhook ТОЛЬКО если будут изменения в Директория2?
никак помоему, там нету таких настроек.
@@ADV-IT Да, чет не нашел. Странно. А может в репозитории хранится куча хлама и надо чтобы только при изменении конкретного файла или директории запускалась джоба. И нет такого функционала? печаль
8:06 Есть кнопка upload, а если перейти по ссылке, то откроется инфа на странице Elastic Beanstalk resources, в Actions тоже нет. Так как его все-таки скачать?
И еще вопрос: в уроке добавления файла из винды на GitHub в курсе про GitHub почему-то не было команды
git remote add origin git@github.com:adv4000/php-app-for-jenkins.git
Помогите решить проблему!
При deployment на AWS Elastic Beanstalk выдает ошибку: During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version.
Просто re-deploy
Не помогло 🤔
И спасибо за канал, много что стало ясно.
שלום דניס תודה רבה על המדריך. יש לי שאאלה קטנה . בדקה 16:40 אני מנסה להתחבר ל WEBHOOK כמו במדריך וזה לא מצליח ומוציא לי שגיאה כל הזמן. שגיאה שזה לא מצליח להתחבר. אולי תוכל לעזור לי
תבדוק SecurityGroup חייב להיות פתוח לכתובות IP של GitHub
@@ADV-IT אני עושה את הפרוייקט מהמחשב שלי ולא דרך server.
ראיתי בכמה מקומות שאני צריך לעשות טריגר.
האם זה קשור.
כי כרגע כל דרך שאני מנסה זה פשוט לא מזהה את זה.
ודרך אגב רציתי להגיד לך תודה על מדריכים נהדרים.
בזכותך לומד המון
Посоветуйте как подключить персистент сторидж к beanstalk docker single installation ?
docs.aws.amazon.com/elasticbeanstalk/latest/dg/services-efs.html
а beanstalk позволяет для app базу rds сразу создать?
Позволяет, только не рекомендуется это делать.
RDS создай отдельно от ElasticBeanstalk
интересно было бы через terraform создать app.
Да легко
Почему то не могу на AWS Elastic Beanstalk зайти по публичному ip адресу, хотел к нему прикруить свое доменное имя...
ssh ключь поставил? а чтобы прикрутить domain не надо туда заходить.
Посмотри уроки по AWS, я там показыва как это делать
@@ADV-IT Денис, разобрался спасибо!
Здравствуй Денис.
Я снова с вопросом к вам.
Извини меня.
Но я не могу сдвинуть с места.
Пересмотрел кучу урокав по AWS и Jenkins но нечего не нашло.
Мне надо за deployed автоматически с помощью Jenkins на AWS Elastic Beanstalk jar или war файл.
Но AWS Elastic Beanstalk Deployment Plugin делает zip файл.
Есль делать всьо в ручную через Upload и загружать jar или war файл всё хорошо работает.
Можете меня направить в правельное направление, или что-то посоветовать.
Большое вам спасибо за ранее.
AWS Elastic Beanstalk Deployment Plugin делает zip файл и правильно делает!
Вот посморир как выглядит zip с WAR файлами для ElasticBeanstalk.
docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-multiple-war-files.html
Если у тебя только один WAR просто назови его ROOT.war и AWS Elastic Beanstalk Deployment Plugin сделает всё что надо.
@@ADV-IT Здравствуй Денис.
Извини что так долго не отвечала.
Должен был закончить курсовую работу до время истечения срока.
Большое тебе спасибо Денис.
Ти очень хорошие дело делаешь.
Ти делаешь вклад в развитие нашей расы.
Большое спасибо тебе.
В конце концов я сделал Deployment так как Ти говорил но за деплоил jar и все отлично прошло.
Буду ждать твоих новых видео.
Большое тебе спасибо за твой проделанный труд и потраченное время для того чтобы поделиться твоими знаниями с людьми.
@@romantsyupryk3009 Спасибо за подарок! очень приятно!
@@ADV-IT Ми вам должны намного больше за ваш труд.
Можно ли как то лишние Credentials удалить?
можно как-то
чем обусловлен выбор такого стека инструментов?
Так круто просто
@@ADV-IT что есть круто, использование зоопарка?
@@ttsrg поймешь когда начнешь делать CI/CD много, очень много.
А вообще кто как хочет так и делает.
Главное доставка кода на сервера, у каждого свои приоритеты и предпочтения
Не знаю зачем я это постоянно смотрю) В России на сколько знаю aws не работает
Зайди проверь aws.amazon.com/
Парень, перестань маяться ерундой. Твои видео - НИОЧЕМ. Быдлячья манера речи + бесконечная тараторка. Складывается ощущине, что ты и сам не знаешь, о чем говоришь.
Спасибо, так и есть, ничего не знаю, говорю всякоую хрень
БМВ это диагноз :)
Запили видео лучше и мы посмотрим на твое мычание
@@ОлексійСушко-ъ9ю жосткий хейтер) Видео превосходные.
посоветуй каналы лучше если знаешь