fa
Feedback
LinuxSkill - Сводки с прода и Шпаргалки

LinuxSkill - Сводки с прода и Шпаргалки

رفتن به کانال در Telegram

Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4

نمایش بیشتر

📈 تحلیل کانال تلگرام LinuxSkill - Сводки с прода и Шпаргалки

کانال LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 10 942 مشترک است و جایگاه 11 387 را در دسته فناوری و برنامه‌ها و رتبه 59 932 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 10 942 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 13 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -64 و در ۲۴ ساعت گذشته برابر 0 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 16.32% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 6.15% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 1 786 بازدید دریافت می‌کند. در اولین روز معمولاً 673 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 9 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند docker, linux, bash, devops, скрипт تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 14 ژوئن, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

10 942
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-147 روز
-6430 روز
آرشیو پست ها
💾 UUID или /dev/sda? Почему твой сервер не грузится Привет, суперпользователь! 👋 Знакомая ситуация: подключил новый диск, перезагрузил сервер, а он «встал»? Скорее всего, имена устройств сместились (например, sda стал sdb), и система не нашла корневой раздел по старому пути,. Чтобы спать спокойно, используй в /etc/fstab не имена устройств, а UUID (универсальный уникальный идентификатор). Он остается неизменным, даже если ты переставишь диски местами,. 📌 Как узнать UUID всех разделов? Используй команду blkid (Block ID). Она покажет атрибуты всех блочных устройств.
# blkid
/dev/sdf2: UUID="b600fe63-d2e9-461c-a5cd-d3b373a5e1d2" TYPE="ext4"
/dev/sda1: UUID="17f12d53-c3d7-4ab3-943e-a0a72366c9fa" TYPE="ext4" PARTUUID="c9a5ebb0-01"
/dev/sda5: UUID="b600fe63-d2e9-461c-a5cd-d3b373a5e1d2" TYPE="swap" PARTUUID="c9a5ebb0-05"
/dev/sde1: UUID="4859-EFEA" TYPE="vfat"
Что мы видим: UUID="..." — тот самый идентификатор, который нужно копировать в fstab. TYPE="..." — тип файловой системы (ext4, swap, vfat). 💡 Лайфхак: Если нужно узнать данные только для конкретного диска, просто укажи его имя: blkid /dev/sda1. #Linux #SysAdmin #Storage #CLI #Fstab

Как выполнить арифметическую операцию 5 + 3 в Bash?
Anonymous voting

Что делает оператор && между двумя командами (cmd1 && cmd2)?
Anonymous voting

🛡 Твой новый стандарт: Генерируем SSH Ed25519 С возвращением! 👋 Всё еще генерируешь ключи через rsa -b 4096? Это надежно, но ключи получаются длинными, а генерация — медленной. В современном мире стандартом де-факто становится Ed25519. Это алгоритм на эллиптических кривых: он безопаснее, быстрее и создает очень компактные ключи, которые удобно копировать. Давай обновим твои доступы за одну минуту. 📌 Команда для генерации:
ssh-keygen -t ed25519 -C "admin@myserver"
Разбор флагов: -t ed25519 — указываем тип ключа. Он обеспечивает превосходную безопасность и высокую производительность. -C "комментарий" — метка (обычно email), чтобы ты не запутался в authorized_keys, когда ключей станет много. 💡 Что делать дальше? 1. Закинь ключ на сервер: Используй утилиту ssh-copy-id, она сама разложит всё по полочкам:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-host
Если ssh-copy-id нет под рукой, можно сделать это вручную (но это дольше):
cat ~/.ssh/id_ed25519.pub | ssh user@remote-host "cat >> ~/.ssh/authorized_keys"
2. Проверь права (на локальной машине): Приватный ключ должен быть доступен только тебе (права 600), иначе SSH-клиент может отказаться работать или это создаст дыру в безопасности.
chmod 600 ~/.ssh/id_ed25519
Переходи на Ed25519 — это быстрее, короче и безопаснее. Сохрани шпаргалку, чтобы не гуглить флаги! 🔥 #SSH #Linux #Security #DevOps #CLI

🔥 Компактный IP: Смотрим сеть без боли в глазах EHLO, коллега! 👋 Признайся, сколько раз ты вводил ip addr и тонул в потоке информации о MTU, qdisc и broadcast-адресах, пытаясь найти заветные цифры IP? 😵 Или по старой привычке ставил net-tools, чтобы вернуть любимый, но устаревший ifconfig,? В современном пакете iproute2 есть скрытая жемчужина — флаг -br (brief), который превращает вывод в аккуратную таблицу. Больше не нужно писать длинные пайплайны с grep и awk. 📌 Команда для читаемого вывода:
ip -br a
Что она делает: -br (brief) — включает режим краткого вывода. a (addr) — показывает адреса. Результат будет выглядеть примерно так:
lo               UNKNOWN        127.0.0.1/8 ::1/128
eth0             UP             192.168.1.10/24 fe80::a00:27ff:fe0d:d90c/64
💡 Почему это круто: 1. Ты сразу видишь статус (UP/DOWN), имя интерфейса и IP. 2. Это работает «из коробки» в большинстве современных дистрибутивов (CentOS 8+, Ubuntu 18.04+ и др.). 3. Идеально для твоих скриптов и беглого просмотра состояния сети. #Linux #Networking #CLI #SysAdmin #DevOps

💥 Фениксы и снежинки: как строить инфраструктуру, которая не ломается 🔥 25 декабря в 20:00 мск — бесплатный вебинар в OTUS
💥 Фениксы и снежинки: как строить инфраструктуру, которая не ломается 🔥 25 декабря в 20:00 мск — бесплатный вебинар в OTUS Почему одни инфраструктуры падают от малейшего чиха и восстанавливаются только «волшебником Васей», а другие перезапускаются за минуты даже после полного апокалипсиса? Разберём, как превратить хрупкую «снежинку» в инфраструктуру-феникс: полностью воспроизводимую, декларативную и самовосстанавливающуюся. 📌 Что будет: — Как распознать «снежинку» и почему она смертельно опасна — Принципы «феникса»: самовосстановление и предсказуемость — Ключевые инструменты: Terraform, Ansible, GitOps — смерть ручным настройкам — Процессы, которые спасают: код-ревью, тесты, автоматизация 🎯 После вебинара вы сможете: — Мгновенно находить снежинки и уничтожать их — Создавать окружения одной командой — Сделать инфраструктуру независимой от людей — Спать спокойно, даже если сгорит весь дата-центр 👉 Регистрация открыта: https://otus.pw/JloL/ Вебинар приурочен к старту курса «DevOps-инженер: практики и инструменты»: за 5 месяцев — полный боевой стек Docker → Kubernetes → Terraform → Ansible → CI/CD → мониторинг. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🏎️ Почему твой Linux грузится вечность? Находим и обезвреживаем Эй, линуксоид! 👋 Знакома ситуация: отправил сервер в reboot, и можно идти варить кофе, потому что он поднимается мучительно долго? 😤 Часто виноват один-единственный «зависший» сервис, который тянет время всей системы. В systemd есть встроенный инструмент-детектив, который покажет, кто именно крадет твои секунды. 📌 1. Оцениваем общий масштаб бедствия Сначала посмотрим, сколько времени ушло на загрузку в целом (ядро + userspace).
$ systemd-analyze
Startup finished in 253ms (kernel) + 933ms (initrd) + 6.873s (userspace) = 8.060s
Это дает общее понимание: если userspace занимает слишком много времени, значит, проблема в службах. 📌 2. Ищем виновника (команда blame) Эта команда выводит список всех запущенных юнитов, отсортированных по времени инициализации — от самых медленных к самым быстрым.
$ systemd-analyze blame
3.811s NetworkManager-wait-online.service
 806ms tuned.service
 680ms postfix.service
 490ms lvm2-monitor.service
 ...
В данном примере видно, что NetworkManager-wait-online.service задерживает запуск почти на 4 секунды. 📌 3. Анализируем критический путь Иногда сервис запускается долго, но не тормозит остальных. Чтобы увидеть дерево зависимостей и понять, какой процесс реально блокирует финиш загрузки, используйте:
$ systemd-analyze critical-chain
graphical.target @9.663s
└─multi-user.target @9.661s
  └─snapd.seeded.service @9.062s +62ms
    └─basic.target @6.336s
      └─sockets.target @6.334s
        └─snapd.socket @6.316s +16ms
          └─sysinit.target @6.281s
            └─cloud-init.service @5.361s +905ms
              └─systemd-networkd-wait-online.service @3.498s +1.860s
Здесь видно, что systemd-networkd-wait-online.service является узким местом в цепочке,. 💡 Совет: Если вы нашли «тормоза», которые вам не нужны (например, postfix на рабочей станции или ожидание сети там, где это не критично), их можно отключить (systemctl disable) или оптимизировать. #Linux #Systemd #DevOps #SysAdmin #Performance

⚠️ Никогда не используй [ ] в Bash, пока не прочитаешь это Привет, инженер! 👋 Сколько раз ты ловил binary operator expected или забывал экранировать > в условии? В Bash скобки — это не просто стиль, это разные инструменты с разной логикой. Давай разложим всё по полочкам, чтобы твои скрипты работали предсказуемо. 📌 1. Одинарные квадратные [ ... ] — Классика (test) Это синоним команды test. Она старая, POSIX-совместимая, но капризная. Нюанс: Переменные нужно брать в кавычки "$var", иначе при пустом значении скрипт упадет. Минус: Знаки > и < нужно экранировать (\>), иначе Bash решит, что это перенаправление ввода/вывода.
if [ "$a" = "root" ]; then echo "Hi root"; fi

📌 2. Двойные квадратные [[ ... ]] — Расширенная проверка Это ключевое слово самого Bash. Оно мощнее и безопаснее. Плюс: Не нужно экранировать > и <. Поддерживает логические && и || прямо внутри скобок. Киллер-фича: Поддерживает регулярные выражения через оператор =~.
# Проверка регуляркой (без кавычек!)
if [[ "$ver" =~ ^3\. ]]; then echo "Version 3.x"; fi

📌 3. Одинарные круглые ( ... ) — Подоболочка (Subshell) Команды внутри запускаются в отдельном процессе. Суть: Переменные, измененные внутри (), не меняются в основном скрипте. Пример: (cd /tmp; rm *.log) — вы перейдете в папку только внутри скобок, основной скрипт останется в текущей директории. 📌 4. Двойные круглые (( ... )) — Арифметика Специальная конструкция для математики в стиле Си. Плюс: Можно не писать $ перед переменными. Поддерживает инкременты var++ и тернарные операторы.
(( a++ ))       # Увеличить a на 1
b=$(( a + 5 ))  # Записать результат в b

💡 Итог: Пишешь на Bash? Всегда используй [[ ]] для условий и (( )) для математики. Оставь [ ] для совместимости со старым sh. #Linux #Bash #DevOps #Scripting #Shell

🎥 Вебинар по Linux: Пользователи и права в Linux: первые шаги администратора Разберёмся, как устроена система пользователей
🎥 Вебинар по Linux: Пользователи и права в Linux: первые шаги администратора Разберёмся, как устроена система пользователей в Linux и зачем нужны root, sudo и su. На вебинаре вы узнаете: - Какие бывают типы пользователей в Linux и чем они отличаются. - Где хранится информация о локальных пользователях и как её читать. - Как безопасно переключаться между пользователями с помощью su и sudo. - Какие ошибки часто совершают новички при работе с правами. В результате вебинара вы: - Узнаете, как Linux идентифицирует пользователей и их права. - Сможете легко переключаться между пользователями. - Научитесь читать системные файлы /etc/passwd и /etc/shadow. - Поймёте, как использовать sudo без ошибок и повысить безопасность своей системы. 🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Basic" 👉 Для участия зарегистрируйтесь: https://otus.pw/xwoC/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🔥 DevOps-стек: Запусти 3 контейнера одной командой (YAML) Привет, цифровой архитектор! Тратить время на ручное развертывание тестовых сервисов. Docker Compose позволяет тебе развернуть весь DevOps-стек (приложение, БД, мониторинг) одной командой.
# docker-compose.yml (версия 3.8)
version: '3.8'
services:
  app:
    # Пример: веб-приложение Flask
    image: custom/app:1.0 
    ports: ["8080:8080"]
    # Переменные среды для подключения к БД (The Twelve-Factor App)
    environment: 
      DB_HOST: db
  db:
    # Официальный образ БД
    image: postgres:15 
    # Сохраняем данные на томе (volume)
    volumes:
      - db_data:/var/lib/postgresql/data 
  monitor:
    # Пример дашборда
    image: grafana/grafana:latest 
    ports: ["3000:3000"]
volumes:
  db_data: # Объявление тома
Вывод: Запусти стек командой docker-compose up -d. #Docker #DevOps #Мониторинг #YAML

Как получить длину строковой переменной ${string}?
Anonymous voting

Какая переменная хранит код возврата (exit status) последней выполненной команды?
Anonymous voting

💡 select + dialog: Создаём админ-меню прямо в консоли Хей, гуру Linux-оболочки! Ты тратишь время на медленный Web-GUI для рутинных задач (например, перезапуск служб)? Используй команду select для создания интерактивного TUI-меню.
# 1. Задаем приглашение к вводу (PS3)
PS3='Выберите действие: ' 

# 2. Создаем TUI-меню с помощью select
select ACTION in 'Restart Proxy' 'Check Load' 'Exit'
do
    # Выполняем команду, соответствующую выбору
    case $ACTION in
        'Restart Proxy') 
            # Перезапускаем службу proxy
            systemctl restart proxy.service ;;
        'Check Load') 
            # Проверяем загрузку системы (Load Average)
            uptime ;;
        'Exit') 
            # Выход из цикла
            break ;;
    esac
done
Вывод: select позволяет тебе быстро выбрать и выполнить команду прямо в консоли. #TUI #CLI #Bash #Утилиты

🔥 3 метрики в SSH-баннере: Скрипт для Production Привет, повелитель терминала! Тратить время на ввод uptime и free при каждом SSH-входе, чтобы оценить состояние сервера. Добавь этот динамический скрипт в свой ~/.bashrc (или /etc/profile), и ты получишь мгновенную оценку Load Average, RAM и IP-адреса, используя встроенный документ (here document). ⚙️ Скрипт: Динамический MOTD (Message of the Day) Скрипт использует подстановку команд $(...) (предпочтительная нотация вместо обратных кавычек ` ``) для сбора метрик и форматированный встроенный документ для их вывода.
#!/bin/bash
# -------------------------------------------------------------
# 1. Сбор системных метрик
# -------------------------------------------------------------

# Получаем локальный IP-адрес сервера (первый в списке)
SERVER_IP=$(hostname -I | awk '{print $1}')

# Получаем Load Average за 1 минуту.
# Средняя загрузка (Load Average) — это количество процессов, 
# ожидающих ЦПУ или дискового ввода/вывода. 
# Мы считываем метрики из псевдофайла /proc/loadavg, 
# извлекая первое поле (1-минутное значение).
LOAD_AVG=$(cut -d " " -f1 /proc/loadavg)

# Получаем использованную/общую RAM в "человекочитаемом" виде.
# Используем команду `free` для статистики виртуальной памяти.
# AWK используется для извлечения 3-го и 2-го столбцов строки "Mem:"
RAM_USED_TOTAL=$(free -h | awk '/Mem:/ {print $3 "/" $2}')

# -------------------------------------------------------------
# 2. Вывод баннера с помощью Встроенного Документа (Here Document)
# -------------------------------------------------------------

# Конструкция 'cat << EOF' создает встроенный документ.
# Встроенные документы поддерживают подстановку параметров, если
# ограничитель (EOF) не экранирован.

cat << EOF 

=============================================
 🛡️ SYSTEM HEALTH CHECK | USER: $(whoami)
=============================================
 🚀 Локальный IP:    $SERVER_IP
 ⏱️ Load Average 1m: $LOAD_AVG
 💾 RAM (Used/Total): $RAM_USED_TOTAL
---------------------------------------------

EOF
Вывод: Вставь этот код в конец своего файла ~/.bashrc. Таким образом, ты увидишь здоровье сервера сразу после подключения, не используя команды вроде top или vmstat. Помни, что stat также может давать подробную информацию о файле или каталоге, включая размер, права доступа, и временные метки (доступ, модификация, изменение статуса). #Bash #Скрипты #SSH #CLI #Мониторинг

❓ Контейнеры разрастаются, а инфраструктура уже не поддаётся контролю? 😬 Каждое развертывание — как мини-квест. Отказоустойч
Контейнеры разрастаются, а инфраструктура уже не поддаётся контролю? 😬 Каждое развертывание — как мини-квест. Отказоустойчивость под вопросом, DevOps-циклы затянуты, а масштабирование напоминает ручную магию. Kubernetes вроде бы должен всё решать, но на практике сложностей только больше. 👩‍💻 Онлайн-курс «Инфраструктурная платформа на основе Kubernetes» поможет вам: - Автоматизировать управление контейнерами и масштабирование - Освоить DevOps-подход «инфраструктура как код» - Подготовиться к сертификации CNCF (CKA и CKAD) Практикующие эксперты, актуальная программа, разбор нюансов эксплуатации K8s и бонус: подготовительный курс по Linux. ➡️ Пройдите короткое вступительное тестирование и присоединяйтесь к группе: https://otus.pw/bmFr/ 🎄 Учитесь в новом году по старым ценам! Максимальная скидка 30% на обучение до 21.12.2025: 1 курс — тающая скидка 15% до 21.12 2 курса −25%, 3 курса −30% Учиться системно — выгоднее! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🔑 Секрет Satisfy: IP-доступ без пароля для админов Эй, Bash-архитектор! Тебе нужна гибкая аутентификация (IP ИЛИ пароль)? Директива Satisfy any позволяет тебе обходить Basic Auth для внутренних IP, не требуя пароля.
# Конфигурация Nginx/Angie (Location Block)
# Внимание: Basic Auth небезопасна без HTTPS
location /admin/ {
    # 1. Настройка аутентификации
    auth_basic "Restricted Zone";
    auth_basic_user_file /etc/nginx/.htpasswd; 

    # 2. Правила доступа по IP
    allow 192.168.1.10; # Разрешить админу
    deny all;

    # 3. Ключевой хак: достаточно одного условия
    satisfy any;
}
Вывод: Если IP совпадает, сервер не спросит пароль. #Nginx #Хаки #Security #CLI #МиниГайд

🤯 CLI-гайд: 7 команд, которые делают "грязную" работу за тебя Привет, гуру Linux-оболочки! Ты тратишь время на рутину: многострочный поиск, управление ресурсами и сбор метаданных. Эти утилиты позволяют тебе быстро решать сложные задачи, избегая написания длинных скриптов. 1. ⚙️ stat: Вся информация о файле stat выдает подробную и многословную статистику о заданном файле, каталоге или устройстве. Сюда входит тип файла, права доступа, inode, размер и время.
# Получить детальные метаданные о файле
stat /etc/passwd

# Извлечь конкретные данные (например, inode и тип файла)
# -c%i - inode number, -c%F - file type
stat -c%i,%F /etc/passwd
stat используется, чтобы быстро получить всю информацию, включая время последнего доступа (atime), модификации (mtime) или изменения статуса (ctime). 2. 🚀 xargs: Параллельное выполнение команд Используй xargs для передачи аргументов команде из потока ввода (stdin), что особенно полезно, когда список аргументов слишком длинный для обычной подстановки.
# Найти все файлы *.log и удалить их, даже если их миллион
find /var/log/ -name "*.log" -print0 | xargs -0 rm -f

# Найти все .mp3-файлы и вывести их размер (с использованием xargs)
find ~/ -name "*.mp3" -print0 | xargs -0 du -h
xargs разбивает поток данных на достаточно маленькие блоки для обработки, что позволяет тебе ускорить операции с большим количеством файлов. 3. 💾 mktemp: Создание безопасного временного файла Всегда создавай временные файлы с помощью mktemp для обеспечения "уникального" имени файла. Это предотвращает атаки, связанные с гонкой (race condition).
# Создать временный файл в /tmp с уникальным именем
TMP_FILE=$(mktemp)
echo "Рабочие данные" > $TMP_FILE

# После использования, не забудь удалить
rm $TMP_FILE
Когда mktemp вызывается без аргументов, он создает файл нулевой длины в /tmp. 4. 🔗 lsof: Найди, что держит ресурс Если ты не можешь размонтировать файловую систему (umount fails), lsof показывает все открытые файлы и связанные с ними процессы.
# Узнать, какие процессы используют директорию /mnt/data
lsof /mnt/data

# Показать, какие процессы открыли файл /usr/bin/vim
fuser -u /usr/bin/vim
lsof помогает тебе определить, какие файлы все еще открыты, чтобы ты мог безопасно убить соответствующие процессы. 5. 🔑 which, whereis, whatis: Быстрый поиск документации Эти три команды помогают тебе быстро найти исполняемый файл или узнать его назначение, что критически важно при работе в новой системе:
# Показать полный путь к исполняемому файлу (только bin)
which rm 
# Вывод: /usr/bin/rm

# Показать путь к bin, исходникам И man-странице
whereis rm
# Вывод: rm: /bin/rm /usr/share/man/man1/rm.1.bz2

# Получить краткое описание команды из базы данных whatis
whatis whatis
# Вывод: whatis (1) - search the whatis database for complete words
6. 📊 Комбинирование: cut, sort, uniq Используй эти три фильтра вместе для анализа структурированных текстовых файлов или вывода команд (например, /etc/passwd).
# Найти 5 самых популярных оболочек в системе
cut -d':' -f7 /etc/passwd | sort | uniq -c | sort -rn | head -5
# cut -d':' -f7: извлекает поле 7 (оболочку).
# sort: сортирует, чтобы uniq работал.
# uniq -c: подсчитывает последовательные дубликаты.
# sort -rn: сортирует в обратном порядке по числам (самые популярные сверху).
💡 Вывод Эти хаки и утилиты — настоящий золотой фонд командной строки. Используя xargs, stat и связку фильтров (cut, sort, uniq), ты сможешь превратить рутинные задачи в быстрые однострочники. #Шпаргалка #Хаки #CLI #Bash #Скрипт #Утилиты

🔥 Открытый урок «Принцип DRY в GitLab CI: как избавиться от дублирования и навести порядок в пайплайнах». 🗓 18 декабря в 20
🔥 Открытый урок «Принцип DRY в GitLab CI: как избавиться от дублирования и навести порядок в пайплайнах». 🗓 18 декабря в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab». На вебинаре разберем: ✔️Что такое DRY в контексте CI/CD и зачем его применять. ✔️Организация пайплайнов: как структурировать .gitlab-ci.yml, чтобы не утонуть в дублировании. ✔️Include и extends — мощные механизмы переиспользования кода. ✔️ Как создать единые шаблоны пайплайнов для нескольких проектов. ✔️Антипаттерны: что ломает читаемость и поддерживаемость CI-конфигураций. После вебинара вы сможете: - Навести порядок в .gitlab-ci.yml и убрать дублирование шагов. - Создавать гибкие, масштабируемые пайплайны для разных проектов. - Стандартизировать CI/CD-процессы в команде без потери гибкости. 🔗 Ссылка на регистрацию: https://otus.pw/J0v8/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🔧 Multipass: Запусти Ubuntu VM 3 командами (CLI-гайд) Привет, мастер командной строки! Тебе нужна быстрая песочница Ubuntu для тестов? Multipass позволяет тебе запустить VM с предустановленным Docker за минуту. 1. Запуск виртуалки с Docker Используй образ docker и задай имя (например, node1).
# Создаем и запускаем VM с Docker pre-installed
multipass launch docker --name node1
2. Проверка и подключение Убедись, что она запущена, и подключись.
# Проверить статус, имя и IP-адрес VM
multipass ls 

# Подключиться к виртуальной машине (ты войдёшь в неё)
multipass shell node1 

# Выход из сеанса оболочки (без выключения машины)
exit
Вывод: Используя всего три команды (launch, ls, shell), ты можешь получить готовую среду для работы. #Утилиты #CLI #Виртуализация #Multipass

Какая конструкция позволяет использовать значение по умолчанию, если переменная не установлена или пуста?
Anonymous voting