Ого, это же надо столько показал за один урок. Выполнил полтора десятка команд, научил делать столько же нужнейших задач, и все в одном этом уроке. Спасибо Огромное, жду следующих уроков по Jenkins, и прикладным программам. Просто понятно, доступно и очень авторитетно объяснил, основу работы с Jenkins и github.
Спасибо, два часа боролся с новой версией jenkins, java, alternatives, github, aws, credential plugin, publish over ssh. В итоге получилось и чувствую себя счастливым! :)
все очень и очень полезно и познавательно . очень хорошо преподносите материал , тем самым помагая людям. огромное спасибо! хотел бы внести маленькую правку в данное видео ( понимаю что на момент съемки этой фичи могло не быть ) что бы подключаться по SSH ключу к репозиторию на github необходимо в настройках Jenkins изменить параметр SSH Server Host Key Verification Strategy на Non verifying Verification Strategy или другую , в противном случае будет сыпаться ошибка при попытке добавить ключ
Кто так же как и я столкнулся с проблемой Transfer Set - Source files не забирает папки, а только файлы, то вместо "*" нужно указать "**/*" и тогда файлы вместе с папками скопируются на сервер. Огромное спасибо, Денис, за уроки! Очень жалею что слишком поздно начал учиться всему этому
Благодарю! Некоторые вещи меняются со временем, ну это и хорошо, заставляет мозгами немного пошевелить а не тупо под копирку, ну и комменты помогают в трудной ситуации)
Классно! Спасибо Большое! Подскажите, что-то я один момент не понял. Всё отлично выполняется, скачивает с гита, но всё попадает в папку workspace, но мне надо, чтобы проект попал в свою папку. В папку виртуального хоста. Например в /home/mysite/www/html. Попробовал сделать билд после гита, чтобы просто скопировать всё туда, но jenkins не имеет доступов на копирование в те папки. Есть какое-то решение, чтобы гиты копировались каждый в свою папку, если есть несколько виртуальных хостов? Чтобы один job всё загружал в одну папку, второй job во вторую? Каждый гит в свой виртуальный хост. Заранее спасибо!!!
Я наверное пропустил, но если у вас фейлится job на: hudson.plugins.git.GitException: Could not init проверьте что на всех slaves у вас установлен git.
Возник вопрос: после генерации пары приватный\публичный ключ на ubuntu где установлен был Jenkins мы для безопасности разве не должны были удалить эти два файла с сервера после внесений их на Git и в Jenkins?
получается если я в разделе Source Code Management не отмечу Git, то мой джоб выполняться не будет(т е получается обязательно нужно клонировать репозиторий?). моя цель это при push в гит, jenkins по ssh заходит на др сервер и делает там pull (и кланировать репозиторий в workspace мне не нужно)
Спасибо за урок. Хотел задать вопрос такого плана, существует ли в Jenkins возможность мониторинга Github, так чтобы не вручную deploy делать, а к примеру сделан commit, агент увидел изменения в master ветке и сразу запустил deploy автоматически.
Что ансибл, что гит что дженкинс везде самое сложное для меня было подключиться по ssh, почему всегда с этим траблы сейчас вот то что Денис делает на 10 минуте у меня никак не выходит
Классно! Спасибо! А можно ли с помощью Jenkins сделать badge для проекта для вставки в readme, чтобы показывало, что проект зелёный сбилдился, красный - не сбилдился? Также и badge для codecov, чтобы процент покрытия тестами в readme было видно. В Travis все как-то просто это делается в пару кликов, а в Jenkins даже не знаю, есть такая возможность или нет.
Привет, спасибо за труды, наше с тобой знакомство началось с ансибл, сейчас вот изучаю jenkins. К слову, твои уроки стали для меня некой азбукой девопс инженера. И, благодаря тебе, я устроился на работу SRE инженером в очень крупную Российскую компанию ))) Появился вопрос по данному уроку. При деплое с гитхаба файлы корневой директории с гитхаба пушатся на web сервер, а вложенные папки и их содержимое - нет. При чем в /var/lib/jenkins/workspace/Deploy to TEST/ все файлы и папки корректно с гитхаба забираются, но на вебсервере уже только файлы верхнего корневого уровня проекта. Подскажи, в какую сторону копать. Еще в уроке ты не затронул темы прав на файлы. Как быть, если apache или nginx запущен от www-data а по ssh ты манипуляции проводишь с файлами от имени пользователя ubuntu, как правильно с точки зрения процессов этот момент отработать.
@@ADV-IT 1) про рекурсивность да, понимаю, но получается, вместо плагина гитхаб мне нужно использовать баш скрипт, потому что гитхаб не клонит рекурсивно? Тогда не этот плагин бы не сохранял бы все корректно у себя (у jenkins сервера) в директории. ПРоблема то в том, что на jenkins сервер все с гитхаба приходит корректно, а вот на вебсервер не уходит, точнее уходят только файлы верхнего уровня. 2) Про chmod postscript понял, спасибо
Коллеги, помогите пожалуйста разобраться. Один момент мне все же не понятен. У меня на GitHub есть несколько реп, я создал билд, который забирает код из первой репы и другой, который должен забирать код из второй. Итого - 2 билда и 2 репы. ssh ключи настроены, все ок. Проблема только в том, что работает только один билд, а второй падает с ошибкой ERROR: Error cloning remote repo 'origin' SSH: Current build result is [FAILURE], not going to run. Переключение с ssh на http не помогает (думал может на ключ ругается). Подскажите пожалуйста, кто сталкивался и нашел решение.
Здравствуйте, хотел сказать спасибо за ваши видео, решил продвигаться в этом русле, но не совсем пока получается, сегодня завали около 5 билдов на jenkins, ещё хотел бы узнать, где у вас стоял jenkins , на сервере aws или же на другой машине.
ADV-IT, спасибо, ещё столкнулся с проблемой , как раз взял на aws, поставил убунту и дошёл до момента - где нужно было заходить на Jenkins , я вставил ip и в конце 8080, но ничего не вышло, просто белый экран
Привет! спасибо за уроки! Нужна помощь или подсказка. Пытаюсь заставить Jenkins брать из GitHub тест план JMeter и выполнять его. Отчет хочу отпрвлять по почте. Что то никак не выходит. Подскажите куда смотреть хоть ? спасибо заранее
@@ADV-IT Если программист сам пишет тест, то что ему мешает протестировать код у себя на компе, прежде чем его выкладывать на гитхаб? Я только учусь на devops и не сталкивался с реальной разработкой софта. Для меня не очень понятно, неужели программист не проводит какие-то испытания кода локально, прежде чем его вообще куда-то выложить. Я бы точно провел :)
@@SamuelBSR Конечно проводятся тесты локально, но на сервере они нужны для того, чтобы проверить работоспособность старого функционала после добавления нового. В разработке очень часто бывает, что новые функции или изменение старых, приводит к поломке. Вот для этого и заливают тесты на сервер. Советую почитать про регрессионное тестирование, тогда все станет на свои места.
Может быть, дурацкий вопрос или я что-то пропустил, но откуда Jenkins знает, что надо клонировать именно в ~/myproject учитывая, что сами джобы выполняюся в /var/lib/jenkins/jobs/ В конфигурации джобов, есть workspace для джобы, но как ее изменить что-то я не нашел...
Привет!!! Круто, благодарю за урок. Вопрос, как мне с git деплоить playbooks на удаленный хост? Я сейчас пробовал, мне выдал ошибку jenkins@80.78.***.**: Permission denied (publickey,password).", "unreachable": true}
День добрый ! При сборке в конце, при попытке публикации на веб сервере выходит ошибка Permission denied. Вероятно дело в правах директорий на сервере с Jenkins, и на Web сервере, куда копать? Оба сервера( c Jenkins и с Web сервером apache) на виртуальных машинах на Ubuntu. ... Test Passed + echo -----------------------Test Finished------------------------------ -----------------------Test Finished------------------------------ SSH: Connecting from host [ip myip] SSH: Connecting with configuration [WebServer-TEST] ... SSH: Disconnecting configuration [WebServer-TEST] ... ERROR: Exception when publishing, exception message [Permission denied] Build step 'Send build artifacts over SSH' changed build result to UNSTABLE Finished: UNSTABLE
У меня такая же ошибка выходит + echo ----------Test Finished--------- ----------Test Finished--------- SSH: Connecting from host [ip-172-31-8-57] SSH: Connecting with configuration [WebServer-PROD] ... SSH: Disconnecting configuration [WebServer-PROD] ... ERROR: Exception when publishing, exception message [Permission denied] Build step 'Send build artifacts over SSH' changed build result to UNSTABLE Finished: UNSTABLE
Нашел ответ? У меня тоже самое, но я подключался по http, думал что ошибка в этом. Попробовал через SSH ключ, но там теперь другая ошибка "returned status code 128" и не в консоли, а еще на стадии настроек. В общем, если есть ответ, буду признателен
Денис, у меня все получается, кроме главного: в самом конце получаю ответ SSH: Transferred 0 file(s) Finished: SUCCESS. Где я что-то пропустил, на jenkins или AWS?
@@ADV-IT Уже несколько дней мучаюсь.Внутри jenkins все работает. Внутри удаленного сервера тоже. Тестовое соедение success. В отчете пишет что соеденение и отсоеденение произошло успешно. Только файл не передает... Jenkins у меня запускается в докер контейнере на localhost:8080. Там где jenkins url в настройках я вставил публичный адрес моего компа. Может это неправильно...
@@ADV-IT Наконец-то умудрился задеплоить простой html файл без github. Тоже не получалось. Проблему решил, только когда командой sudo chmod 777 index.html все разрешил делать с этим файлом.
Салют. Какой-то странный баг с Дженкинсом. Иногда запускается билд на ноде. Хотя я не подключал к ней этот билд. После рестарта Дженкинса все работает нормально какое-то время. В чем может быть причина?
Сразу же после своего вопроса понял причину) В нодах стояло "Use this node as much as possible". И почему-то Дженкинсу нравилось запускать именно на них, а не на мастере. Сменил там чтобы только по лейблам запуск происходил и все стало работать нормально.
Спасибо большое вам за ваш труд ! Единственные курсы на русском языке, за которые я бы отдал деньги. Денис, если не сложно, можете ответить - можно ли как то в SSH Publisher настроить source файлов от имени roota, то есть через sudo. Так как у меня права стоят на /var/www/html только для roota и все сорсы фейлятся из-за отсутствия прав. У меня в SSH Publisher два запуска в одном билде - 1) Не копирует никаких файлов и через exec command добавляет через sudo права 777 на папку /var/www/html. 2) Делает source файлов и в конце через exec command меняет права на папку 755 обратно. Получается очень костыльно, но оставлять права 777 очень не безопасно. Подскажите как это можно исправить ? И используется ли вообще SSH Publisher в продакшене на реальных проектах ?
1. Никогда не ставь права root на /var/www/html , если сайт взломают, то получат доступ ко всему что на сервере. 2. Маленькие проекты используют иногда SSH Publisher, а чаще я вижу Jenkins запускающий Ansible для обновления сайта Этот курс по Jenkins и поэтому я не мешал его с Ansible
В предыдущих уроках по git, генерация ключей была в файлах ~/.ssh/id_rsa/id_rsa.pub. В этом уроке показано генерация ключей другим именем и директории где находится локальная репо. Вопрос. Почему у меня не работает git push (в доступе отказано) если я генерирую ключи другим именем и в другой директории, кроме как ~/.ssh/id_rsa/id_rsa.pub ? Для информации я пробовал инициализировать репо в номов формате и задавал новые ключи, чтобы вышло как у вас в этом уроке, но кроме как инструкции из урока по git по другому с репо работать не могу.
@@ADV-IT но как только я генерирую другим именем и директорией, как сделали вы в этом видео так и сразу возникают проблемы и нельзя сделать push. (Permission denied).Как с этим быть ? Исходя из урока, также выходит что ключи должны быть в папке с репо, и деплоится вместе с остальными данными ?
Денис, здравствуйте :) Тренируюсь по вашим урокам и столкнулся с такой ситуацией, подскажите, пожалуйста. Пытаюсь с помощью Publish SSH over сделать тест соединения, но появляется ошибка: Message [java.net.ConnectException: В соединении отказано (Connection refused)]] Апач стоит вместе с Дженкинсом локально (в Virtual Box, Ubuntu). Указал hostname: 127.0.1.1 И дирректорию: /var/www/html Подскажите, пожалуйста, в чем может быть дело? Думаю, что загвоздка как раз в том, что я не внешний сервер как вы использую, а тупо прописываю локалхост (дженкинс с виртуалки стучиться в дирректорию Апача на ту же вирталку). Хотя, я сгенерировал RSA ключ как положено ssh-keygen -t rsa и поместил в authorized_keys
Возможно, что-то с портами... я пока не особо эксперт в этом, но вроде доступ к всем папкам по пути /var/www/html прописал и к index.html тоже (на чтение и запись).
У тебя полезный курс, где ты суммируешь свой опыт, НО: не структурировано и размазано по углам. И ещё избавься от этого колхозного хмыканья, плиз. Совершенно не настраивает на серьёзный лад.
Ого, это же надо столько показал за один урок. Выполнил полтора десятка команд, научил делать столько же нужнейших задач, и все в одном этом уроке. Спасибо Огромное, жду следующих уроков по Jenkins, и прикладным программам. Просто понятно, доступно и очень авторитетно объяснил, основу работы с Jenkins и github.
Спасибо, рад слышать!
Спасибо, два часа боролся с новой версией jenkins, java, alternatives, github, aws, credential plugin, publish over ssh. В итоге получилось и чувствую себя счастливым! :)
Отлично видео! Спасибо огромное за такие доступные объяснения!
все очень и очень полезно и познавательно . очень хорошо преподносите материал , тем самым помагая людям. огромное спасибо!
хотел бы внести маленькую правку в данное видео ( понимаю что на момент съемки этой фичи могло не быть )
что бы подключаться по SSH ключу к репозиторию на github необходимо в настройках Jenkins изменить параметр SSH Server Host Key Verification Strategy на Non verifying Verification Strategy или другую , в противном случае будет сыпаться ошибка при попытке добавить ключ
Подскажите, конкретнее путь где лежит данная настройка, не могу найти((
@@Nenormik Manage Jenkins ---> Security ---> Git Host Key Verification Configuration ---> No verification
Сам только что сделал, и это сработало
@@bayshihin хорошо что решил в комментарии зайти, уже 3-й день я борюсь с ssh, спасибо
Спасибо!
Крайне полезное видео, так наглядно и подробно ещё никто не мог пояснить!
Денис, спасибо за урок!
Большое спасибо. Нужно для работы сейчас как раз.
Спасибо большое!!!
Кто так же как и я столкнулся с проблемой Transfer Set - Source files не забирает папки, а только файлы, то вместо "*" нужно указать "**/*" и тогда файлы вместе с папками скопируются на сервер.
Огромное спасибо, Денис, за уроки!
Очень жалею что слишком поздно начал учиться всему этому
Ура! Благодарю! =)
Спасибо!!
Благодарю! Некоторые вещи меняются со временем, ну это и хорошо, заставляет мозгами немного пошевелить а не тупо под копирку, ну и комменты помогают в трудной ситуации)
ОГРОМНОЕ СПАСИБО ЗА ЭТОТ КУРС!!! ВСЁ ОЧЕНЬ ПОНЯТНО!!!
спасибо за уроки!
реально выручил!
Обратите внимание, сейчас нужно изменить путь ветке гита, вместо master пропишите main
какой же ты красавчик, не мог найту причину а она оказаласт довольно проста
Очень полезнО!
Парни, вдруг кто стокнеться, теперь запретили говорить слейв и мастер . У меня долго не заводилось, крч махните ветку на */main
И всё будет ля бамбони
Pro tip: you can watch movies on flixzone. Been using them for watching lots of of movies these days.
@Bridger Kenzo Yea, I have been using flixzone} for since november myself :D
Классно! Спасибо Большое! Подскажите, что-то я один момент не понял. Всё отлично выполняется, скачивает с гита, но всё попадает в папку workspace, но мне надо, чтобы проект попал в свою папку. В папку виртуального хоста. Например в /home/mysite/www/html. Попробовал сделать билд после гита, чтобы просто скопировать всё туда, но jenkins не имеет доступов на копирование в те папки. Есть какое-то решение, чтобы гиты копировались каждый в свою папку, если есть несколько виртуальных хостов? Чтобы один job всё загружал в одну папку, второй job во вторую? Каждый гит в свой виртуальный хост. Заранее спасибо!!!
Я наверное пропустил, но если у вас фейлится job на:
hudson.plugins.git.GitException: Could not init
проверьте что на всех slaves у вас установлен git.
я ещё подумал как же он без гита то на slave заработает
супер
Денис, большая большая благодарность за уроки.
Примеры с AWS CodeCommit будут?
Да там всё слишком просто, это тоже самое что и GitHub
aws.amazon.com/blogs/devops/integrating-aws-codecommit-with-jenkins/
thanks
Возник вопрос: после генерации пары приватный\публичный ключ на ubuntu где установлен был Jenkins мы для безопасности разве не должны были удалить эти два файла с сервера после внесений их на Git и в Jenkins?
получается если я в разделе Source Code Management не отмечу Git, то мой джоб выполняться не будет(т е получается обязательно нужно клонировать репозиторий?).
моя цель это при push в гит, jenkins по ssh заходит на др сервер и делает там pull (и кланировать репозиторий в workspace мне не нужно)
Спасибо за урок. Хотел задать вопрос такого плана, существует ли в Jenkins возможность мониторинга Github, так чтобы не вручную deploy делать, а к примеру сделан commit, агент увидел изменения в master ветке и сразу запустил deploy автоматически.
Прошу прошения, это описывается в следующем уроке Автоматизация запуска Build Job - Jenkins Build Triggers, триггер Poll SCM.
Что ансибл, что гит что дженкинс везде самое сложное для меня было подключиться по ssh, почему всегда с этим траблы сейчас вот то что Денис делает на 10 минуте у меня никак не выходит
ХЗ как но я написал этот коммент, обновил страницу и заработало всем спасибо !
blaaaaaaack
Классно! Спасибо! А можно ли с помощью Jenkins сделать badge для проекта для вставки в readme, чтобы показывало, что проект зелёный сбилдился, красный - не сбилдился? Также и badge для codecov, чтобы процент покрытия тестами в readme было видно. В Travis все как-то просто это делается в пару кликов, а в Jenkins даже не знаю, есть такая возможность или нет.
Не очень понял что требуется
@@ADV-IT Имеется ввиду badge на github добавить со статусом билда
Наверно лучшие русскоязычные уроки на ютубе. Тода раба мотек
Спасибо!
Привет, спасибо за труды, наше с тобой знакомство началось с ансибл, сейчас вот изучаю jenkins. К слову, твои уроки стали для меня некой азбукой девопс инженера.
И, благодаря тебе, я устроился на работу SRE инженером в очень крупную Российскую компанию )))
Появился вопрос по данному уроку.
При деплое с гитхаба файлы корневой директории с гитхаба пушатся на web сервер, а вложенные папки и их содержимое - нет. При чем в /var/lib/jenkins/workspace/Deploy to TEST/ все файлы и папки корректно с гитхаба забираются, но на вебсервере уже только файлы верхнего корневого уровня проекта.
Подскажи, в какую сторону копать.
Еще в уроке ты не затронул темы прав на файлы. Как быть, если apache или nginx запущен от www-data а по ssh ты манипуляции проводишь с файлами от имени пользователя ubuntu, как правильно с точки зрения процессов этот момент отработать.
1.Надо установить чтобы файлы копировались рекурсивно, тоесть все файлы из всех директорий.
2.Менять доспук к файлам chown www-data:www-data
@@ADV-IT
1) про рекурсивность да, понимаю, но получается, вместо плагина гитхаб мне нужно использовать баш скрипт, потому что гитхаб не клонит рекурсивно? Тогда не этот плагин бы не сохранял бы все корректно у себя (у jenkins сервера) в директории.
ПРоблема то в том, что на jenkins сервер все с гитхаба приходит корректно, а вот на вебсервер не уходит, точнее уходят только файлы верхнего уровня.
2) Про chmod postscript понял, спасибо
В Bash скрипте запусти команду tree просто глянуть что склонировалось, просто клонирование это значить один к одному скопировать всё.
Приветствую, как можно перенести пароли из хранилища дженикс в другой проект?
Коллеги, помогите пожалуйста разобраться. Один момент мне все же не понятен. У меня на GitHub есть несколько реп, я создал билд, который забирает код из первой репы и другой, который должен забирать код из второй. Итого - 2 билда и 2 репы. ssh ключи настроены, все ок. Проблема только в том, что работает только один билд, а второй падает с ошибкой ERROR: Error cloning remote repo 'origin' SSH: Current build result is [FAILURE], not going to run. Переключение с ssh на http не помогает (думал может на ключ ругается). Подскажите пожалуйста, кто сталкивался и нашел решение.
Здорово! Планируются ли уроки по openshift ?
Неа
Здравствуйте, хотел сказать спасибо за ваши видео, решил продвигаться в этом русле, но не совсем пока получается, сегодня завали около 5 билдов на jenkins, ещё хотел бы узнать, где у вас стоял jenkins , на сервере aws или же на другой машине.
На Ubuntu который в AWS
ADV-IT, спасибо, ещё столкнулся с проблемой , как раз взял на aws, поставил убунту и дошёл до момента - где нужно было заходить на Jenkins , я вставил ip и в конце 8080, но ничего не вышло, просто белый экран
В SecurityGroup порт 8080 открой.
И убедись что Jenkins стартовал.
*sudo service jenkins status*
ADV-IT, jenkins то стартует и порты открывал, в инете тоже гуглил, ссылаются тоже на порты
Привет! спасибо за уроки!
Нужна помощь или подсказка. Пытаюсь заставить Jenkins брать из GitHub тест план JMeter и выполнять его. Отчет хочу отпрвлять по почте. Что то никак не выходит. Подскажите куда смотреть хоть ? спасибо заранее
Смотреть мои уроки, первую часть я показал как сделать
14:56 . Денис, ну у тебя совсем простенький тест. А если речь про, например, приложение для мобилы, кто пишет тесты для дженкинса, тоже девопс?
Нет конечно, программист сам пишет тест для своего же кода
@@ADV-IT Если программист сам пишет тест, то что ему мешает протестировать код у себя на компе, прежде чем его выкладывать на гитхаб? Я только учусь на devops и не сталкивался с реальной разработкой софта. Для меня не очень понятно, неужели программист не проводит какие-то испытания кода локально, прежде чем его вообще куда-то выложить. Я бы точно провел :)
@@SamuelBSR Конечно проводятся тесты локально, но на сервере они нужны для того, чтобы проверить работоспособность старого функционала после добавления нового. В разработке очень часто бывает, что новые функции или изменение старых, приводит к поломке. Вот для этого и заливают тесты на сервер. Советую почитать про регрессионное тестирование, тогда все станет на свои места.
Класс!
Но слишком много лишнего.
например твой комментарий здесь
Может быть, дурацкий вопрос или я что-то пропустил, но откуда Jenkins знает, что надо клонировать именно в ~/myproject учитывая, что сами джобы выполняюся в /var/lib/jenkins/jobs/
В конфигурации джобов, есть workspace для джобы, но как ее изменить что-то я не нашел...
Он не клонирует в ~/myproject, от куда ты это придумал?
Посмотри внимательно где исполняется Job, B /var/lib/jenkins/workspace/Deploy-to-PROD
th-cam.com/video/i9KLMQmvZmY/w-d-xo.html
Я добавлял в "креденшалс" api key, когда гитлаб подсоединял. Но на 8:07 ничего нет. Не могу понять.. То ли я кривой, то ли баг)
Отбой) Все пофиксил. Я думал, что надо api туда пихуить, а оказалось, что там простой ssh :) Крутые у тебя видео. Спасибо большое)
Привет!!! Круто, благодарю за урок. Вопрос, как мне с git деплоить playbooks на удаленный хост? Я сейчас пробовал, мне выдал ошибку jenkins@80.78.***.**: Permission denied (publickey,password).", "unreachable": true}
1. У Jenkins должен быть доступ в git repo чтобы прочитать playbook
2. У jenkins должен быть доступ на удалённый хост чтобы деплоить этот playbook
что-то в 2022 не получается к гиту таким способом подключится, перепробывал уже все что можно ))
И в 2023 этот способ работает
@@ADV-IT разобрался, jenkins прав не хватало в настройках самого jenkins нужно было разрешить действия с гитом
@@ChuckNorris-fp8cr а что за настройки, тоже завис на этом...
День добрый ! При сборке в конце, при попытке публикации на веб сервере выходит ошибка Permission denied. Вероятно дело в правах директорий на сервере с Jenkins, и на Web сервере, куда копать? Оба сервера( c Jenkins и с Web сервером apache) на виртуальных машинах на Ubuntu.
...
Test Passed
+ echo -----------------------Test Finished------------------------------
-----------------------Test Finished------------------------------
SSH: Connecting from host [ip myip]
SSH: Connecting with configuration [WebServer-TEST] ...
SSH: Disconnecting configuration [WebServer-TEST] ...
ERROR: Exception when publishing, exception message [Permission denied]
Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
Finished: UNSTABLE
Смотреть логи
У меня такая же ошибка выходит
+ echo ----------Test Finished---------
----------Test Finished---------
SSH: Connecting from host [ip-172-31-8-57]
SSH: Connecting with configuration [WebServer-PROD] ...
SSH: Disconnecting configuration [WebServer-PROD] ...
ERROR: Exception when publishing, exception message [Permission denied]
Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
Finished: UNSTABLE
Нашел ответ? У меня тоже самое, но я подключался по http, думал что ошибка в этом. Попробовал через SSH ключ, но там теперь другая ошибка "returned status code 128" и не в консоли, а еще на стадии настроек. В общем, если есть ответ, буду признателен
@@timurjafarov4535 поменяй Permission на папку /var/www/html командой sudo chmod 777 html , мне помогло
вопрос: можно ли готовый в дженкинсе билд на тесте повторно деплойнуть на прод повторно его не собирая?
Сделай несколько Jenkins Jobs,
Один Build.
Второй Deploy.
И тогда запускай только Deploy
Ну или параметры добавь, этоже как обычный скрипт
@@ADV-IT спасибо
Денис, у меня все получается, кроме главного: в самом конце получаю ответ SSH: Transferred 0 file(s)
Finished: SUCCESS. Где я что-то пропустил, на jenkins или AWS?
Не знаю, как я могу догадатся?
@@ADV-IT Уже несколько дней мучаюсь.Внутри jenkins все работает. Внутри удаленного сервера тоже. Тестовое соедение success. В отчете пишет что соеденение и отсоеденение произошло успешно. Только файл не передает... Jenkins у меня запускается в докер контейнере на localhost:8080. Там где jenkins url в настройках я вставил публичный адрес моего компа. Может это неправильно...
@@ADV-IT Наконец-то умудрился задеплоить простой html файл без github. Тоже не получалось. Проблему решил, только когда командой sudo chmod 777 index.html все разрешил делать с этим файлом.
Салют. Какой-то странный баг с Дженкинсом. Иногда запускается билд на ноде. Хотя я не подключал к ней этот билд. После рестарта Дженкинса все работает нормально какое-то время. В чем может быть причина?
Сразу же после своего вопроса понял причину)
В нодах стояло "Use this node as much as possible". И почему-то Дженкинсу нравилось запускать именно на них, а не на мастере. Сменил там чтобы только по лейблам запуск происходил и все стало работать нормально.
Спасибо за урок, подскажите при запуске злой Чак Норис выдает вот такую ошибку Error cloning remote repo 'origin' Я не понимаю что не так
Наверное нету доступа к git repository
@@ADV-IT вот хз если честно так как под ссылкой плагина git не ругается
@@ADV-IT вот хз если честно так как под ссылкой плагина git не ругается
Спасибо большое вам за ваш труд ! Единственные курсы на русском языке, за которые я бы отдал деньги. Денис, если не сложно, можете ответить - можно ли как то в SSH Publisher настроить source файлов от имени roota, то есть через sudo. Так как у меня права стоят на /var/www/html только для roota и все сорсы фейлятся из-за отсутствия прав. У меня в SSH Publisher два запуска в одном билде - 1) Не копирует никаких файлов и через exec command добавляет через sudo права 777 на папку /var/www/html. 2) Делает source файлов и в конце через exec command меняет права на папку 755 обратно. Получается очень костыльно, но оставлять права 777 очень не безопасно. Подскажите как это можно исправить ? И используется ли вообще SSH Publisher в продакшене на реальных проектах ?
1. Никогда не ставь права root на /var/www/html , если сайт взломают, то получат доступ ко всему что на сервере.
2. Маленькие проекты используют иногда SSH Publisher, а чаще я вижу Jenkins запускающий Ansible для обновления сайта
Этот курс по Jenkins и поэтому я не мешал его с Ansible
@@ADV-IT точно! Ansible решает все проблемы с рутом. тоже столкнулся с данной проблемой, благодарю за разъяснения.
ки ба тахбулот таасы лха млхама - в чём смысл? по словам отдельно понятно, а вместе?
Но подписка однозначно
хотя я qa . лайк и сохранённый плейлист
Это слоган Моссада
@@ADV-IT Дак это я тоже прочитал, но как этот смысл понять в добром смысле
@@ADV-IT Поэтому с обдуманностью веди войну твою
нашёл
привет Денис, у меня папки не переносятся , на Jenkins он их копирует из GitHub а на Апачи /var/www/html css папка не переносится ... помогите плиз
А почему не переносятся, какая ощибка вылезает?
Или ты копируешь без рекурсивности
@@ADV-IT сорри без понятьия , но на nginx в докере асе работало.. соррри если туплю я новичок 😅
а у меня в главном меню нет пункта Credentials
1. Поставить плагин credentials
2. Credentials в последних версиях лежит в Manage Jenkins -> Security
Классный инструмент, но, блин, этот Чак Норрис... Сраные хипстеры-разработчики, еще бы мемасиков и демотиваторов на каждый шаг влепили
Объясните пожалуйста, как Web сервер понимает что изменился index.html, ведь его изменения произошли только на Github??????
Jenkins видит изменения на GitHub и перезаписывает этот файл на Webserver
@@ADV-IT А может ли jankins автоматом собирать контейнер с nginx когда например в Git сделали commit?
@@nickmargeyt1819 может
@@ADV-IT куда копать?
@@nickmargeyt1819 Никуда, я же показываю как запускать команды на Jenkins, ну запускай там команды docker, только сначала сам docker поставь
В предыдущих уроках по git, генерация ключей была в файлах ~/.ssh/id_rsa/id_rsa.pub. В этом уроке показано генерация ключей другим именем и директории где находится локальная репо. Вопрос. Почему у меня не работает git push (в доступе отказано) если я генерирую ключи другим именем и в другой директории, кроме как ~/.ssh/id_rsa/id_rsa.pub ?
Для информации я пробовал инициализировать репо в номов формате и задавал новые ключи, чтобы вышло как у вас в этом уроке, но кроме как инструкции из урока по git по другому с репо работать не могу.
По умолчанию git использует ключ из ~/.ssh/id_rsa/id_rsa
Интергация Jenkins и GitHub это чуть другое
@@ADV-IT но как только я генерирую другим именем и директорией, как сделали вы в этом видео так и сразу возникают проблемы и нельзя сделать push. (Permission denied).Как с этим быть ?
Исходя из урока, также выходит что ключи должны быть в папке с репо, и деплоится вместе с остальными данными ?
@@user-vi1tx4nv1b мне помогло ssh-add ~/.ssh/keyname
Денис, здравствуйте :)
Тренируюсь по вашим урокам и столкнулся с такой ситуацией, подскажите, пожалуйста.
Пытаюсь с помощью Publish SSH over сделать тест соединения, но появляется ошибка:
Message [java.net.ConnectException: В соединении отказано (Connection refused)]]
Апач стоит вместе с Дженкинсом локально (в Virtual Box, Ubuntu).
Указал hostname: 127.0.1.1
И дирректорию: /var/www/html
Подскажите, пожалуйста, в чем может быть дело? Думаю, что загвоздка как раз в том, что я не внешний сервер как вы использую, а тупо прописываю локалхост (дженкинс с виртуалки стучиться в дирректорию Апача на ту же вирталку). Хотя, я сгенерировал RSA ключ как положено ssh-keygen -t rsa и поместил в authorized_keys
Возможно, что-то с портами... я пока не особо эксперт в этом, но вроде доступ к всем папкам по пути /var/www/html прописал и к index.html тоже (на чтение и запись).
как скопировать папки из гитхаба? копирует только файлы...
git clone xyz
@@ADV-IT уточню, плагином Гита из дженкинс скопировать на веб-сервер полное содержимое репозитория гит, сейчас копирует без папок
разобрался, в Source files надо поставить путь **/*
после слеша две звездочки, ютуб удалил
Еврей?
У тебя полезный курс, где ты суммируешь свой опыт, НО: не структурировано и размазано по углам. И ещё избавься от этого колхозного хмыканья, плиз. Совершенно не настраивает на серьёзный лад.
кто знает, почему дженкинс и ансибл - такое дерьмо?
Те кому не дано, так называют всё :) так что ответ в Зеркале