Англійська мова для GitHub Actions CI

Вивчіть англійську лексику для GitHub Actions: workflows, tasks, and runners, з поясненнями для чіткого обговорення конвеєрів постійної інтеграції.

« CI пошкоджено » може означати, що файл робочого потоку має синтаксичну помилку, завдання зазнало невдачі, або залізло запуску — GitHub Actions має конкретні терміни для кожного шару, і використання правильного з них отримує зневаджувальне спілкування до фактичної причини набагато швидше.

Ключовий словник

** Workflow ** — файл YAML у .github/workflows/, що визначає автоматизований процес, який запускається такими подіями, як запит на відсилання або запит на відтягування, і містить одне або декілька завдань. “Робочий процес розгортання запускається при кожному відсиланні до головного, а тестовий робочий процес запускається при кожному запиті на витягування.”

** Завдання ** — набір кроків у потоці робіт, який виконується на одному запуску, типово виконується послідовно, з декількома завданнями, які можна виконувати паралельно, якщо не було оголошено явних залежностей. “Ми розділяємо lint і тестування на окремі завдання, щоб вони виконувалися паралельно, а не одне за одним, скорочуючи загальний час конвеєра приблизно вдвічі.”

** Запуск** — віртуальна машина (або самообслуговуюча машина), яка виконує кроки завдання, що обслуговуються для кожного запуску, якщо це не постійний самообслуговуючий запуск. “Збирання почалося з невдачі тільки на хостованому запуску, а не локально — виявилося, що типова версія Node запуску змінилася після оновлення з боку GitHub.”

** Крок ** — одне завдання у межах завдання, яке виконує команду оболонки безпосередньо або викликає дію, яку можна використовувати знову, і виконується у порядку виконання цього завдання. “Крок, який виконує npm ci, зазнав невдачі, оскільки файл блокування не був синхронізований з package.json — окремий крок далі вниз так і не був досягнутий.”

** Матричне збирання ** — налаштування завдання, яке виконує ті самі кроки у декількох комбінаціях змінних (версії вузлів, операційні системи), автоматично створюючи окремий запуск завдання для кожної комбінації. “Ми запускаємо матричну збірку на всіх вузлах 18, 20 і 22, щоб ми могли виявити вади, характерні для певної версії, перш ніж вони дістануться будь-кому, хто насправді використовує старішу версію.”

Звичайні фрази

  • Яка робота насправді провалюється — lint, test, або build?
  • Чи є це проблемою runner, чи ж сам крок зазнав невдачі?»
  • Чи можемо ми паралельно виконувати ці завдання замість того, щоб виконувати їх послідовно?»
  • Чи є ця невдача специфічною для однієї ноги матричної конструкції, або для всіх них?»
  • Який крок в цій роботі є тим, що скидає помилку?»

Приклади висловлювань

Трийманню невдалого конвейєра у стані очікування:

  • “Робочий процес розгортання показано червоним, але це лише завдання lint — фактичне завдання збирання і тестування було виконано. Схоже, що крок не вдається на новому правилі ESLint, а не проблема інфраструктури.”*

Пояснення проблеми з нерівним CI: “Це не вдається тільки на Windows нозі матричної збірки, а не на Linux або macOS — це помилка роздільника шляху в самому тесті, а не проблема запуску.”

Пропозиція щодо прискорення конвеєра:

  • “Зараз всі завдання виконуються послідовно, навіть якщо перевірки lint і модулів не залежать одна від одної. Розділення їх на паралельні завдання повинно скоротити наш середній час CI на кілька хвилин.”*

Професійні поради

  • Назвіть конкретне ** завдання **, яке зазнало невдачі, а не просто « CI є червоним » — більшість потоків робіт виконують декілька завдань, і вказівка на правильне завдання зменшує кількість подорожей у журналах.
  • Розрізняйте проблему ** запуску ** (средство, підготовка, квота) від проблеми ** кроку ** (справжня команда зазнала невдачі) під час повідомлення про проблему CI — вони мають абсолютно різні виправлення.
  • Вкажіть, яка частина збирання ** матриці ** зазнає невдачі, оскільки помилки матриці часто є вадами, властивими певному середовищу, а не універсальними.
  • Запропонувати ** паралельне виконання завдань ** явно, коли пропонується прискорення конвеєра — це зазвичай єдина зміна з найбільшим впливом для скорочення загального часу CI.

Практичні вправи

  1. Напишіть речення, яке відрізняє поток роботи від завдання.
  2. Пояснити, для чого використовується побудова матриці.
  3. Опишемо різницю між задачею бігуна і задачею кроку.

Переклади: «Переклад з німецької» (нім

Будьмо чесними – переклад технічних термінів з однієї мови на іншу може швидко стати мінним полем. Просте використання прямого еквіваленту «workflow» у вашій рідній мові може не передати точне значення в контексті GitHub Actions. Для не-англомовних носіїв англійської мови, це особливо вірно; це розуміння не тільки * що * ви говорите, але * як * ви говорите це - і як це резонує з глобальною командою розробників. Метою не обов’язково є використання надто складних фраз, але забезпечення ясності і точності при передачі запланованої концепції. Часто найефективнішим підходом є прийняття встановленої англійської термінології в екосистемі GitHub, оскільки це демонструє розуміння найкращих практик і сприяє плавнішій співпраці.

Поширеною пасткою для тих, хто новий в технічних дискусіях, є надлишковий буквальний переклад. Наприклад, рідний мовець може інстинктивно сказати «Давайте запустимо це завдання», коли мова йде про запуск кроку в робочому потоці. Хоча це зрозуміло, у ній відсутня точна термінологія - “тригер” або “виконання” - що є стандартом в спільноті GitHub Actions. Використання цих термінів сигналізує про знайомство з платформою і демонструє розуміння механіки, що лежить в основі робочого потоку. Аналогічно, при обговоренні «одночасності», просто перекладаючи її як «роблячи декілька речей одночасно», не враховується критичний нюанс, пов’язаний з масштабуванням бігуна і використанням ресурсів, концепція, що є центральною для оптимізації CI-конвейєрів. Сфокусування на точності створює довіру і зменшує неоднозначність в складних дискусіях про продуктивність і масштабованість трубопроводу.

Крім того, розгляньте мову, яку використовується у документації і запитах на завантаження. Звернення уваги на те, як досвідчені розробники формулюють свої коментарі - особливо щодо помилок або несподіваної поведінки - є безцінним. Спостерігайте, як вони описують вплив проблеми, а не просто зазначають технічні деталі. Наприклад, замість того, щоб сказати «Збірка зазнала невдачі», більш ефективним формулюванням буде «Збірка зазнала невдачі через недостатні ресурси на бігуна», негайно передаючи основну причину і пропонуючи потенційні рішення. Цей підхід відповідає професійному англійському словникові, що оточує системне адміністрування і розробку програмного забезпечення.

Ось приклад того, як ви можете запустити завдання у файлі YAML:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Build project
        run: |
          echo "Building..."
          # Your build commands here

Цей приклад демонструє використання run в межах кроку, звичайної команди, що використовується для виконання скриптів оболонки в GitHub Actions. Це стандартний спосіб опису того, що відбувається під час певного етапу потоку робіт, і відображає те, як досвідчені користувачі зазвичай документують свої дії. Послідовне використання цих встановлених фраз не лише покращить ваше спілкування, але й продемонструє глибше розуміння потужних інструментів автоматизації, які ви маєте у своєму розпорядженні.

Поширені запитання

Про що ця стаття "Англійська мова для GitHub Actions CI"?

Вивчіть англійську лексику для GitHub Actions: workflows, tasks, and runners, з поясненнями для чіткого обговорення конвеєрів постійної інтеграції.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Англійська мова для GitHub Actions CI"?

Приблизно 7 min.