История работ на Gitlab. Часть 1💬
Друзья, всем привет! Сегодня расскажу одну историю из моей практики.
Однажды перед нами встала довольно понятная задача: в связи с ростом нагрузки и горизонтальным масшатбированием инстанса потребовалось вынести Sidekiq на отдельный хост.
🔴 Схема была такой: делаем основной хост с API и всем тем, что осталось и новый отдельный хост под Sidekiq. Мы проверили, что у Sidekiq есть необходимый сетевой доступ, на основном GitLab‑узле Sidekiq отключили, а на новом сервере включили.
Итог: все основные тесты прошли успешно. Стандартные фоновые задачи работали нормально. Пайплайны запускались, джобы отрабатывали без явных ошибок. А вот с динамическими пайплайнами возникла проблема, они не могли найти артефакты.
⏩ Как это выглядело
Джоба, которая должна была читать артефакты предыдущего стейджа, падала с ошибкой о том, что артефакты не найдены. Но при этом:
• В UI GitLab артефакт у предыдущей джобы был, его можно было скачать руками.
• Логи runner’а показывали стандартный запрос за артефактами, а затем падение на стороне GitLab.
Ошибка проявлялась именно в сценариях с динамической генерацией. Ну как ошибка...даже не ошибка
Чем-то похожие проблемы нашлись тут и тут.
Если логически предположить, что теперь он ищет артефакты не там, значит выносим все артефакты, чтобы условия были единые. Для этого унесем их в S3, так как его можно использовать для хранения разных объектов. НО на тот момент артефакты всё ещё лежали на локальном диске. После вынесения Sidekiq эта схема стала особенно хрупкой.
🔴 В итоге
• Унесли все CI‑артефакты в S3‑совместимое object storage
• Привели конфигурацию к единой схеме хранения, чтобы и web, и Sidekiq работали только через объектное хранилище.
• Динамические пайплайны перестали падать, GitLab стабильно находил объекты, а Sidekiq корректно обрабатывал джобы, завязанные на артефакты. Все, можно применять на проде?
Как бы не так. Новая проблема – сломавшиеся GitLab Pages❌
Как только мы пофиксили одну проблему, вылезла следующая. Пользователи начали жаловаться, что GitLab Pages перестали открываться, часть проектов стала отдавать 404, а новые деплои страниц как будто вообще не происходили. То есть:
• В репозиториях джобы pages отрабатывали успешно.
• В файловой системе на стороне GitLab мы видели новые сборки в директории, которая служит storage для Pages
• При обращении к GitLab Pages через домен выдавался 404, пока не перезапускали gitlab-pages.
В нашем случае наложились сразу несколько факторов. И пути хранения перенастроенные (после ухода в object storage артефактов), и отдельный сервер Sidekiq, который обрабатывает джобы, отвечающие за публикацию Pages.
⏩ В результате, gitlab-rails и Sidekiq думали, что Pages задеплоены на s3, складывали контент в нужное место, но сам Pages искал pages_deployments на файловой системе. Прям как тут.
Решение вроде бы простое:
• Проверяем, что все пути совпадают и перезапускаем сервис.
• Видим, что Pages вернулись к жизни и начали стабильно подхватывать новые деплои без ручных перезапусков.
🔴 Но тестирование снова не проходит. Теперь у пользователей не находятся SSH ключи.
Это последний неприятный эффект, который мы получили «бонусом» после всех изменений. Но о нем в следующей части)
Друзья, всем привет! Сегодня расскажу одну историю из моей практики.
Однажды перед нами встала довольно понятная задача: в связи с ростом нагрузки и горизонтальным масшатбированием инстанса потребовалось вынести Sidekiq на отдельный хост.
Итог: все основные тесты прошли успешно. Стандартные фоновые задачи работали нормально. Пайплайны запускались, джобы отрабатывали без явных ошибок. А вот с динамическими пайплайнами возникла проблема, они не могли найти артефакты.
Джоба, которая должна была читать артефакты предыдущего стейджа, падала с ошибкой о том, что артефакты не найдены. Но при этом:
• В UI GitLab артефакт у предыдущей джобы был, его можно было скачать руками.
• Логи runner’а показывали стандартный запрос за артефактами, а затем падение на стороне GitLab.
Ошибка проявлялась именно в сценариях с динамической генерацией. Ну как ошибка...даже не ошибка
"exception.class": "Gitlab::Ci::Artifacts::DecompressedArtifactSizeValidator::FileDecompressionError",
"exception.message": "File decompression error",
Чем-то похожие проблемы нашлись тут и тут.
Если логически предположить, что теперь он ищет артефакты не там, значит выносим все артефакты, чтобы условия были единые. Для этого унесем их в S3, так как его можно использовать для хранения разных объектов. НО на тот момент артефакты всё ещё лежали на локальном диске. После вынесения Sidekiq эта схема стала особенно хрупкой.
• Унесли все CI‑артефакты в S3‑совместимое object storage
• Привели конфигурацию к единой схеме хранения, чтобы и web, и Sidekiq работали только через объектное хранилище.
• Динамические пайплайны перестали падать, GitLab стабильно находил объекты, а Sidekiq корректно обрабатывал джобы, завязанные на артефакты. Все, можно применять на проде?
Как бы не так. Новая проблема – сломавшиеся GitLab Pages
Как только мы пофиксили одну проблему, вылезла следующая. Пользователи начали жаловаться, что GitLab Pages перестали открываться, часть проектов стала отдавать 404, а новые деплои страниц как будто вообще не происходили. То есть:
• В репозиториях джобы pages отрабатывали успешно.
• В файловой системе на стороне GitLab мы видели новые сборки в директории, которая служит storage для Pages
• При обращении к GitLab Pages через домен выдавался 404, пока не перезапускали gitlab-pages.
В нашем случае наложились сразу несколько факторов. И пути хранения перенастроенные (после ухода в object storage артефактов), и отдельный сервер Sidekiq, который обрабатывает джобы, отвечающие за публикацию Pages.
Решение вроде бы простое:
gitlab_rails['object_store']['objects']['pages']['bucket'] = 'gitlab-pages'
• Проверяем, что все пути совпадают и перезапускаем сервис.
• Видим, что Pages вернулись к жизни и начали стабильно подхватывать новые деплои без ручных перезапусков.
Это последний неприятный эффект, который мы получили «бонусом» после всех изменений. Но о нем в следующей части)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👀6❤5😱1
Коллеги, приветствую👋
Рад сообщить, что Слёрм анонсировал новый курс: Интенсив по погружению в GIT
Как проходит обучение:
➡️ 10 дней практики по 2–3 часа в день
➡️ Видеоуроки + текстовые гайды
➡️ Разбор заданий от эксперта
➡️ Командный проект с ретроспективой и проектом в портфолио
⏩ Автор и спикер курса: Кирилл Казарин, менеджер глобальных направлений DevOps/SRE в RingCentral Inc. Стаж в администрировании — 15 лет.
⏩ Старт: 20 мая
⏩ ПОЛУЧИТЬ НОВЫЕ ЗНАНИЯ
Рад сообщить, что Слёрм анонсировал новый курс: Интенсив по погружению в GIT
Как проходит обучение:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
Приветы! На связи Аниса 🤓
Легендарныедолгожданные майские начались!
Включаем режим качественного отдыха и перенимаем Правила жизни моего уважаемого альфа-кота Сырка(фото прилагаю в обязательном порядке):
Правило 1:
Сон — наш союзник
Правило 2:
Любопытство — путь к развитию
Правило 3:
Здоровый эгоизм — необходимая часть личности
Как считаете, база?
Обязательно делитесь фотками и мудростями своих пушистых домочадцев в комментариях — часто они и правда делают нас лучше)
Легендарные
Включаем режим качественного отдыха и перенимаем Правила жизни моего уважаемого альфа-кота Сырка
Правило 1:
Сон — наш союзник
Для современного кота и человека очень важно перезагружаться. Выходной — прекрасная возможность успокоиться и позволить себе вздремнуть после прогулки😴
Правило 2:
Любопытство — путь к развитию
Будь то исследование картонной коробки или истории возникновения египетских пирамид — всё это добавляет интереса к жизни и позволяет сохранить себя в роли не только работника, но и человека, самого себя.
Правило 3:
Здоровый эгоизм — необходимая часть личности
Не нравится, как гладят — уходим в домик, а если чувствуем перегруз в работе — говорим «нет» новым задачам или предлагаем двигать приоритет текущих (об этом, кстати, был пост). Быть хорошим для всех равнозначно потере самого себя.
Как считаете, база?
Обязательно делитесь фотками и мудростями своих пушистых домочадцев в комментариях — часто они и правда делают нас лучше)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤6💯3
История работ на Gitlab. Часть 2💬
Мы остановились на проблеме с SSH‑доступом. Часть пользователей неожиданно перестала подключаться по SSH:
• Ключи в UI GitLab были видны, как добавленные.
• При попытке клонирования или git fetch GitLab запрашивал пароль или возвращал ошибку «Permission denied (publickey)».
🔴 В чем суть
• Когда Sidekiq был на том же сервере, он читал /var/opt/gitlab/.ssh/authorized_keys и было нормально.
• Когда мы вынесли его, он начал писать в свой /var/opt/gitlab/.ssh/authorized_keys на ноде сайдкика.
Произошла потеря мапинга ключа и прав пользователя, которая через БД. Помог ребилд этого файла из БД gitlab-rake gitlab:shell:setup. Но при добавлении или изменении ключа он писал новую инфу снова на ноду сайдкика. И так по кругу.
Решили проблему вот так.
А теперь финальное, сломалось покрытие кода. Просто перестал работать данный функционал.
Для code coverage Sidekiq парсит job.log в рилтайме, но процесс лога джобы такой, что он пумой кладётся на ФС гитлаба в одно место во время джобы (и тут он ещё не артефакт). А по завершению запаковывается уже в артефакт в другое место, по флоу в ссылке.
И раньше сайдкик нормально парсил этот job.log в директории, а после выноса он перестал видеть ФС на основной ноде и не парсил ничего, но при этом опять же все артефакты заданий в UI и S3 были.
⏩ В итоге включили инкрементальное логирование. Теперь логи шлются в Redis, а не во временный файл на ФС. Redis виден Sidekiq и он может парсить логи для поиска и отображения процентов в интерфейсе. Из плюсов, логи теперь вобще не пишутся на ФС, а из минусов, эта схема не работает с кластерным Redis.
Какая мораль
Вынос Sidekiq на отдельный сервер – шаг вполне стандартный и рекомендованный для масштабирования GitLab. Документация хорошая, но иногда совсем не ясно где искать необходимое.
При этом, он обнажает любые неаккуратности в конфигурации и особенности архитектуры.
Мы остановились на проблеме с SSH‑доступом. Часть пользователей неожиданно перестала подключаться по SSH:
• Ключи в UI GitLab были видны, как добавленные.
• При попытке клонирования или git fetch GitLab запрашивал пароль или возвращал ошибку «Permission denied (publickey)».
• Когда Sidekiq был на том же сервере, он читал /var/opt/gitlab/.ssh/authorized_keys и было нормально.
• Когда мы вынесли его, он начал писать в свой /var/opt/gitlab/.ssh/authorized_keys на ноде сайдкика.
Произошла потеря мапинга ключа и прав пользователя, которая через БД. Помог ребилд этого файла из БД gitlab-rake gitlab:shell:setup. Но при добавлении или изменении ключа он писал новую инфу снова на ноду сайдкика. И так по кругу.
Решили проблему вот так.
А теперь финальное, сломалось покрытие кода. Просто перестал работать данный функционал.
Для code coverage Sidekiq парсит job.log в рилтайме, но процесс лога джобы такой, что он пумой кладётся на ФС гитлаба в одно место во время джобы (и тут он ещё не артефакт). А по завершению запаковывается уже в артефакт в другое место, по флоу в ссылке.
И раньше сайдкик нормально парсил этот job.log в директории, а после выноса он перестал видеть ФС на основной ноде и не парсил ничего, но при этом опять же все артефакты заданий в UI и S3 были.
Какая мораль
Вынос Sidekiq на отдельный сервер – шаг вполне стандартный и рекомендованный для масштабирования GitLab. Документация хорошая, но иногда совсем не ясно где искать необходимое.
При этом, он обнажает любые неаккуратности в конфигурации и особенности архитектуры.
Please open Telegram to view this post
VIEW IN TELEGRAM
Gitlab
Fast lookup of SSH keys | GitLab Docs
Configure a faster SSH authorization method for GitLab instances with many users.
👍4🔥4
Салют! На связи Аниса 👸
Вопрос вам на засыпку:
Знаете про Эффект ореола?
Это когда одно яркое качество создает общее впечатление обо всем остальном.
Красивая девушка = несерьёзная. Спокойный мужчина = не лидер. Рекомендация от сотрудника = особенный кандидат.
И любимое: сотрудник бигтеха = сильный и лучший кандидатс уважением ко всем бигтехам 😬
🗣 Почему так происходит?
1️⃣ Экономия когнитивных ресурсов
2⃣ Стремление к непротиворечивости
3️⃣ Влияние стереотипов
🗣 Всегда ли Эффект ореола отражает реальную картину вещей?
Конечно, нет. Однако, важно уметь использовать этот эффект в свою пользу) Да, в поиске работы психологические хитрости — это на одном уровне с софт-скилами, не иначе!
Вообще, скажу так: уловочек много! Если захотите почитать про правила для бывалых — дайте знать, с удовольствием поделюсь👸
Вопрос вам на засыпку:
Знаете про Эффект ореола?
Это когда одно яркое качество создает общее впечатление обо всем остальном.
Красивая девушка = несерьёзная. Спокойный мужчина = не лидер. Рекомендация от сотрудника = особенный кандидат.
И любимое: сотрудник бигтеха = сильный и лучший кандидат
Мозгу проще сделать быстрый вывод на основе одной детали, чем тратить время и энергию на анализ всех характеристик
Мы склонны верить, что если человек добрый, то, скорее всего он ещё умный и честный. Так проще создать в голове полный образ
Окружение и социальная среда формируют шаблоны, которые автоматически применяются к людям
Конечно, нет. Однако, важно уметь использовать этот эффект в свою пользу) Да, в поиске работы психологические хитрости — это на одном уровне с софт-скилами, не иначе!
Базовые правила Эффекта ореола:
• самый сильный козырь в резюме ставим на видное место
• буквально заучиваем самопрезентацию для собеседования, так как у первого впечатления нет второго шанса
• если случилась лажа в начале — говорим об этом вслух. Озвученное волнение имеет меньше власти над нами и лучше выглядит в глазах со беседующего в отличие от непроизнесенного
Вообще, скажу так: уловочек много! Если захотите почитать про правила для бывалых — дайте знать, с удовольствием поделюсь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥3
Коллеги, приветствую!👋
Сегодня — последний день, когда можно купить курсы Слёрма со скидкой 40% по промокоду➡️ MAY26
❗️ Это отличная возможность прокачать навыки по Docker, Terraform, Git, Ansible и другим востребованным направлениям — системно усилить свои компетенции и закрыть пробелы в знаниях
Полный список курсов, которые вы можете приобрести со скидкой доступен➡️ здесь
🔴 Важно: скидка не действует на комплекты курсов, сертификаты и подписку и доступна только для физлиц.
Успейте воспользоваться предложением, пока акция не закончилась
Сегодня — последний день, когда можно купить курсы Слёрма со скидкой 40% по промокоду
Полный список курсов, которые вы можете приобрести со скидкой доступен
Успейте воспользоваться предложением, пока акция не закончилась
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Коллеги приветствую👋
Снова отвлекусь от привычных технических тем, и расскажу историю как я хотел купить себе кепку. Типичная ситуация, как в комедии "Малкольм в центре внимания" в сцене про замену лампочки: "Как ты думаешь, что я делаю?"
🔴 Для начала я применив простой инженерный подход, думал пойти и купить просто такую-же как у меня есть, чтобы не рисковать.
Оказалось что их уже нет, а новые уже не такие.
🔴 Начал искать другие, но или выбор слишком большой, или его нет и не удалось что-то выбрать, чтобы было не хуже.
🔴 Думал сделать кепку на основе готовой, добавив логотип - узнал технические ограничения, которые не позволили реализовать желаемое.
🔴 На этом этапе я сел придумывать концепцию, генерировать векторные изображения и писать ТЗ на целый лист А4.
🔴 Собрав текстовое описание, логотипы и примерные рендеры, я пошёл в организации, которые шьют кепки с нуля. Написал в разные места. Меня либо игнорировали, либо сказали, что с таким ТЗ мне делать ничего не будут, и только одна компания отозвалась и сказала, что сделаем, но после этого перестала отвечать на сообщения.
🔴 На этом этапе можно было сдаться или упростить идею, но я решил с одной стороны дальше не прорабатывать, а с другой — из принципа дойти до конца в этой задаче.
🔴 Для этого на выставке, где разные производители одежды из Китая демонстрируют свою продукцию, был найден завод, который в своём каталоге содержал возможность пошива кепки из любого материала и с учётом всех требований. Из важного — ещё готовность работать с оплатой от меня.
🔴 Выставка закончилась, и старательный китаец, вернувшийся к себе домой, начал мучать меня каталогами тканей, странными требованиями и нежеланием читать ТЗ. Если не проверить что угодно — результат будет неожиданный. Долго думал, как бы он просто не сделал мне кепку размером с брелок. Подходящего образования, чтобы понимать в выкройке, у меня нет, но рулетка и кепка в руке помогали.
🔴 В итоге прошло несколько месяцев, и я получил свою кепку. Её можно носить, в целом всё хорошо. Но я узнал много нюансов, и во второй раз уже сделал бы ещё лучше. Но пока не знаю, захочу ли ещё раз это пройти, разве что вы поддержите мои идеи.
Ниже отправлю фото кепок, которые у меня получились⬇️
Снова отвлекусь от привычных технических тем, и расскажу историю как я хотел купить себе кепку. Типичная ситуация, как в комедии "Малкольм в центре внимания" в сцене про замену лампочки: "Как ты думаешь, что я делаю?"
Оказалось что их уже нет, а новые уже не такие.
Ниже отправлю фото кепок, которые у меня получились
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍12👏3⚡1
Приветы! На связи конечно Аниса, пятница же 😎
Ранее рассказывала об Эффекте ореола, как и почему он работает. Зафиксировали.
А сегодня расскажу о таком, уже для продвинутых:
Как использовать Эффект ореола при поиске работы?
1️⃣ Следим за первой и последней минутой общения
2️⃣ Думаем, какой образ и какие качества мы хотим транслировать
3️⃣ Ни в коем случае не обесцениваем себя вслух (очень частая ошибка 😕 )
На самом деле, таких крючков много. Однако даже если начать реально использовать эти три — положительный результат уже будет заметен. Я, кстати, сама использую такие приёмчики — рекомендую😎
Если у вас есть свои, то делитесь!)
Ранее рассказывала об Эффекте ореола, как и почему он работает. Зафиксировали.
А сегодня расскажу о таком, уже для продвинутых:
Как использовать Эффект ореола при поиске работы?
Человеческая психика круто запоминает начало и конец беседы.
Начало — первое впечатление. Конец — запоминающееся послевкусие.
Если есть волнение, можно им открыто поделиться, это обычно располагает.
Вполне нормально, что мы одновременно обладаем социальными ролями "Кореш Серёги" и "Котик" и "Кандидат на senior-разработчика". Перед собеседованием важно продумать, какими качествами может обладать последний, и транслировать их.
Еще раз: мы не играем роль. Все эти роли уже есть в нас, и их важно просто вывести на передний план.
Фразы в стиле "я, конечно, не эксперт в этом”, "у меня не так много опыта", "может быть, я не совсем подхожу" могут казаться проявлением милой скромности. Но психологически они создают такое впечатление: кандидат сам подсказывает работодателю, где в нем сомневаться.
Лучше сказать так:
"Интересно, у меня фокус в работе был в другом, однако было бы интересно погрузиться в эту задачу — меня отчасти это и заинтересовало в вакансии”.
На самом деле, таких крючков много. Однако даже если начать реально использовать эти три — положительный результат уже будет заметен. Я, кстати, сама использую такие приёмчики — рекомендую
Если у вас есть свои, то делитесь!)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍3🤝2
Коллеги, приветствую👋
Рекомендую посмотреть бесплатный урок по системе контроля версий Git
Что вы узнаете на бесплатном уроке:
➡️ Зачем вообще нужны системы контроля версий
➡️ Почему Git — это стандарт, который используют все
➡️ Что такое методология управления инфраструктурой, использующая систему управления версиями кода Git как единый источник достоверной информации (GitOps) и когда код правит миром
➡️ Чем Git может быть полезен вам прямо сейчас
⏩ Забрать бесплатный урок
Рекомендую посмотреть бесплатный урок по системе контроля версий Git
Что вы узнаете на бесплатном уроке:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Коллеги, приветствую👋🏻
Приглашаю вас сегодня в 19:00 на вебинар: «Введение в ИИ: от LLM и MCP до ИИ-агентов»
Эксперты на вебинаре обсудят:
🔴 как работает LLM;
🔴 полезные приемы написания запросов для ИИ на выполнение задачи (промптов);
🔴 как работать с внутренними данными с помощью ИИ-агентов;
🔴 что такое MCP и зачем это нужно;
🔴 как создать своего первого ИИ-агента.
Что ещё будет на вебинаре:
Вы скорее всего слышали про сертификацию CKAD (Certified Kubernetes Application Developer).
Обычно на этот экзамен выделяют 120 минут и 18 задач. На вебинаре эксперты проведут демо, как решить все задания буквально за пару минут с помощью ИИ.
Спикеры вебинара — эксперты курса «ИИ в работе DevOps-инженера»:
⏩ София Филиппова, ИИ-инженер в компании Innova.
⏩ Виктор Ведмич, старший архитектор решений.
Ссылка на веб придет в бота:
➡️ Регистрация за 30 сек ⬅️
Приглашаю вас сегодня в 19:00 на вебинар: «Введение в ИИ: от LLM и MCP до ИИ-агентов»
Эксперты на вебинаре обсудят:
Что ещё будет на вебинаре:
Вы скорее всего слышали про сертификацию CKAD (Certified Kubernetes Application Developer).
Обычно на этот экзамен выделяют 120 минут и 18 задач. На вебинаре эксперты проведут демо, как решить все задания буквально за пару минут с помощью ИИ.
Спикеры вебинара — эксперты курса «ИИ в работе DevOps-инженера»:
Ссылка на веб придет в бота:
Please open Telegram to view this post
VIEW IN TELEGRAM
Коллеги приветствую👋🏻
Сегодня снова продолжаем на необычном примере разбирать функционал гитлаба и на сегодня PAGES
Я уже рассказывал про свою потребность формировать марштуры для поездок на мотоцикле для себя и своих друзей.
И как удобно делать? Ставить тикеты! ну точнее Work Items
➡️ https://git.notoxops.com/moto/moto-routing/-/work_items?sort=created_date&state=all&first_page_size=20
➡️ Для заведения маршрута заводится Issue по шаблону "create_route" в котором уже описаны основные поля для заполнения
При необходимости заводится "create_trip" - как частный случай маршрута и он имеет уже свои поля.
➡️ И когда закончено формирование таски марштрута - она переводится в закрытые. После чего пайплайн запускается или руками или по расписанию и собирает на основаении задач легкую статическую страницу для отображения, которую можно показывать друзьям.
https://pages.notoxops.com/moto/moto-routing/
Это и есть простая демонстрация pages
В пайплайне только одна job
pages:
stage: deploy
script:
- *генерация страниц*
artifacts:
paths:
- public
Остается еще один интересный момент с тем, на каком адресе будет размещаться pages и тут есть 3 варианта:
1️⃣ Путь на основании пути проекта например https://pages.notoxops.com/moto/moto-routing/
2️⃣ На основании уникального айди например https://pages.notoxops.com/moto-routing-2a884c
3️⃣ На отдельном домене https://moto.notoxops.com что потребует подтверждения домена. Также существует возможность выпустить свой сертификат
У меня выбран 1й вариант, но мне нравится и 3й, но есть сложности с тем, что у меня gitlab стоит за прокси и сертификаты там-же. Поэтому редиректа на https нет.
➡️ Для чего это еще можно применять:
Отчеты о сборке, релизах публиковать на удобных страницах или хостить свой сайт на gitlab.
За майские праздники проехал только 3 маршрута - это не много, но честные поездки. Будет свободная минутка - заполню лучше.
Сегодня снова продолжаем на необычном примере разбирать функционал гитлаба и на сегодня PAGES
Я уже рассказывал про свою потребность формировать марштуры для поездок на мотоцикле для себя и своих друзей.
И как удобно делать? Ставить тикеты! ну точнее Work Items
При необходимости заводится "create_trip" - как частный случай маршрута и он имеет уже свои поля.
https://pages.notoxops.com/moto/moto-routing/
Это и есть простая демонстрация pages
В пайплайне только одна job
pages:
stage: deploy
script:
- *генерация страниц*
artifacts:
paths:
- public
Остается еще один интересный момент с тем, на каком адресе будет размещаться pages и тут есть 3 варианта:
У меня выбран 1й вариант, но мне нравится и 3й, но есть сложности с тем, что у меня gitlab стоит за прокси и сертификаты там-же. Поэтому редиректа на https нет.
Отчеты о сборке, релизах публиковать на удобных страницах или хостить свой сайт на gitlab.
За майские праздники проехал только 3 маршрута - это не много, но честные поездки. Будет свободная минутка - заполню лучше.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Коллеги, приветствую👋
Слёрм объявляет о запуске нового практического курса «Разработка ИИ-агентов»
Для кого этот курс:
⏩ Инженеры DevOps / SRE (автоматизация инцидентов, диагностика через kubectl);
⏩ Backend-разработчики (интеграция LLM в сервисы);
⏩ Специалисты, пишущие на Python и желающие перейти в ИИ-инженерию без углубления в ML
Результаты по окончании 10 недель обучения:
🔴 Сборка мульти-агентной системы (Incident Response / K8s Troubleshooter);
🔴 Проработка вопросов безопасности, мониторинга и оптимизации стоимости LLM-запросов;
🔴 Итоговый GitHub-репозиторий с архитектурой и интеграцией автоматизированных оценок качества и производительности (CI/eval-тесты) в CI/CD-пайплайны.
➡️ Инструментарий: LangGraph, FastMCP, LiteLLM, DeepEval, Langfuse, Docker, K8s.
➡️ Формат: 12 уроков, QA-сессии, чат с экспертами, проверка проекта, именной сертификат.
УЗНАТЬ ПОДРОБНОСТИ
Слёрм объявляет о запуске нового практического курса «Разработка ИИ-агентов»
Для кого этот курс:
Результаты по окончании 10 недель обучения:
УЗНАТЬ ПОДРОБНОСТИ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
— Пользуешься нейросетями в работе? Понятно
— Не пользуешься нейросетями в работе? Понятно
Салюты, это Аниса👸
Ага, попались! Думали, что это очередной кринжовый пост в интернете о том, как круто использовать ИИ везде и во всех сферах жизни? А вот и нет!
Я за сохранениерассудка базовых когнитивных способностей. Однако и тормозить в освоении новых технологий не стоит.
🤓 В общем, рассказываю, что я уже доверила нейросетям:
📎 поиск профильных конференций, среди участников которых я могу найти классных кандидатов
📎 поиск исследований рынка труда, включая зарубежные источники (с обязательной перепроверкой)
📎 составление списка ключевых слов для резюме, чтобы пройти ИИ-фильтры на том самом карьерном сайте
📎 подбор новых духов, поиск игры по воспоминанию из детства и тд
🤢 Что я точно пока не готова делегировать:
📎 разбор откликов
📎 скрининг резюме и принятие решения на основе ИИ-вердикта
📎 переписка с кандидатами и т.п.
Это я к чему?
Мы живем в такое время, когда важно сохранять баланс между сохранением человеческого и приобретением навыков. Уметь работать с ИИ — реально крутая штука, и я сама пока в процессе познания этого инструмента.
〰️ И велик будет тот, кто в работе будет AI-native, а с людьми.. human-native, скажем так!〰️ (с) Аниса С.
А вы что об этом думаете?
— Не пользуешься нейросетями в работе? Понятно
Салюты, это Аниса
Ага, попались! Думали, что это очередной кринжовый пост в интернете о том, как круто использовать ИИ везде и во всех сферах жизни? А вот и нет!
Я за сохранение
На мой взгляд, все, что касается взаимодействия человека с человеком — это суперценная и индивидуальная штука, которая не заканчивается на анализе текста. Многое основывается на сенсорном и психологическом механизме.Дада, вот такая я умная..
Это я к чему?
Мы живем в такое время, когда важно сохранять баланс между сохранением человеческого и приобретением навыков. Уметь работать с ИИ — реально крутая штука, и я сама пока в процессе познания этого инструмента.
А вы что об этом думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🔥6
Коллеги приветствую. Недавно вышла версия Gitlab 19 версии.
Нравится рассказывать о интересных фичах и хотелось бы разобрать кучу всего интересного что добавилось, но большинство фич в платной версии конечно.
Рассмотрим функционал кастомизированные inputs для merge requests
Сделаем так, что-бы внутри MR можно было запустить пайплайн выбирая параметры а уже потом положительный результат выполнения требуется для слияния. Это можно использовать для сценариев когда пайплайн может работать в разных режимах и требуется такая вариативность
Вот один из вариантов применения, можно вставить и попробовать
Нравится рассказывать о интересных фичах и хотелось бы разобрать кучу всего интересного что добавилось, но большинство фич в платной версии конечно.
Рассмотрим функционал кастомизированные inputs для merge requests
Сделаем так, что-бы внутри MR можно было запустить пайплайн выбирая параметры а уже потом положительный результат выполнения требуется для слияния. Это можно использовать для сценариев когда пайплайн может работать в разных режимах и требуется такая вариативность
Вот один из вариантов применения, можно вставить и попробовать
spec:
inputs:
environment:
description: "Куда деплоим демо"
default: "test"
options:
- "test"
- "stagging"
test_suite:
description: "Какой набор тестов запускать"
default: "smoke"
options:
- "smoke"
- "full"
---
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- when: never
stages:
- info
- test
- deploy
show-inputs:
stage: info
script:
- echo "MR pipeline demo"
- echo "environment=$[[ inputs.environment ]]"
- echo "test_suite=$[[ inputs.test_suite ]]"
smoke-tests:
stage: test
rules:
- if: '"$[[ inputs.test_suite ]]" == "smoke"'
script:
- echo "Running SMOKE tests"
- echo "Quick checks only"
full-tests:
stage: test
rules:
- if: '"$[[ inputs.test_suite ]]" == "full"'
script:
- echo "Running FULL tests"
- echo "Long regression suite"
deploy:
stage: deploy
script:
- echo "Deploy to $[[ inputs.environment ]]"
- |
if [ "$[[ inputs.environment ]]" = "stagging" ]; then
echo "Stagging mode demo"
else
echo "Test mode demo"
fi
❤7
Коллеги, приветствую👋
Сегодня хотел рассказать о том, какие инструменты реально нужны в работе Devops-инженеру.
По своему опыту могу сказать, что уверенное владение этой пятёркой напрямую влияет на качество вашей работы. Это инструмент проверенные временем.
Коротко о каждом:
🔹 Ansible — автоматизация конфигураций и управление инфраструктурой без агентов. Решает рутину с серверами от и до.
🔹 Docker — контейнеризация как стандарт современной разработки. Изучите сети, тома, оркестрацию на базовом уровне.
🔹 GitLab CI/CD — построение пайплайнов, которые автоматизируют тестирование, сборку и доставку на прод. Экономит часы каждый спринт.
🔹 Terraform (базовый) — инфраструктура как код для новичков. Научитесь описывать облачные ресурсы декларативно.
🔹 Terraform (продвинутый) — продвинутое использование: модули, работа с состояниями в команде, production-ready подходы.
До 31 мая действует скидка 20% на любой из этих видеокурсов, по промокоду: БУТКЕМП20
Сегодня хотел рассказать о том, какие инструменты реально нужны в работе Devops-инженеру.
По своему опыту могу сказать, что уверенное владение этой пятёркой напрямую влияет на качество вашей работы. Это инструмент проверенные временем.
Коротко о каждом:
🔹 Ansible — автоматизация конфигураций и управление инфраструктурой без агентов. Решает рутину с серверами от и до.
🔹 Docker — контейнеризация как стандарт современной разработки. Изучите сети, тома, оркестрацию на базовом уровне.
🔹 GitLab CI/CD — построение пайплайнов, которые автоматизируют тестирование, сборку и доставку на прод. Экономит часы каждый спринт.
🔹 Terraform (базовый) — инфраструктура как код для новичков. Научитесь описывать облачные ресурсы декларативно.
🔹 Terraform (продвинутый) — продвинутое использование: модули, работа с состояниями в команде, production-ready подходы.
До 31 мая действует скидка 20% на любой из этих видеокурсов, по промокоду: БУТКЕМП20