Перейти до вмісту

runnerhut (бігун)

Відповіді

Прямі відповіді на запитання інженерів про CI.

Платежі та вартість21

Чи виставляється мені рахунок, якщо завдання GitHub Actions не виконується?так Вам виставляється рахунок за хвилини, витрачені до моменту відмови, а не за успішний результат.Чи є GitHub Actions безкоштовними для відкритого коду?Так, на GitHub стандартних бігунів для публічних репозиторіїв, без хвилинної плати.Чи GitHub Actions безкоштовні для приватних сховищ?Ні. Приватні сховища щомісяця отримують включені хвилини за планом, а потім виставляють рахунок за хвилину.Чи сплачую я плату за місце для керованих бігунів?На runnerhut (руннерхут), немає. Оплата здійснюється за хвилину комп’ютера без плати з кожного розробника.Чи плачу я за час в черзі?Ні. Виставлення рахунків починається, коли виконується ваш перший крок, а не коли завдання ставиться в чергу.Чи плачу я і за раннер, і за віддалений конструктор Docker?Так, але забудовнику виставляється рахунок лише за секунди, коли він активно будує.Як виставляється плата за скасовану роботу?Ви оплачуєте хвилини, що минули до скасування, округлюючи до суми рахунків.Чи існує мінімальна плата?runnerhut рахунки за секунду з однією хвилиною мінімум за роботу.Скільки коштують керовані програми GitHub Actions?runnerhut Linux x64 раннери починаються від 0,004 долара за хвилину, що становить приблизно половину роздрібної ціни GitHub за еквівалентний розмір.Який найдешевший розмір бігунка?Найменший розмір, який утримує ваше завдання на критичному шляху — зазвичай 2 або 4 vCPU для lint і модульних тестів.Чи arm64 дешевший за x64?так раннери runnerhut arm64 коштують приблизно на 20% нижче еквівалентного розміру x64.Чи дешевше бігати меншою кількістю більших бігунів?Тільки якщо ваше робоче навантаження фактично розпаралелюється. Інакше ви платите більше за хвилину за ядра, які простоюють.Чи можу я встановити ліміт витрат?так runnerhut підтримує жорсткі обмеження бюджету на організацію та на репозиторій.Що станеться, коли закінчаться безкоштовні кредити?Роботи не плануються, доки ви не додасте спосіб оплати або не підвищите ліміт.Як оцінити рахунок за GitHub Actions?Помножте місячні хвилини для кожної ОС на ставку за хвилину для цієї ОС, а потім додайте сховище для артефактів і кеша.Як спрогнозувати витрати бігуна?Візьміть кінцеві 90-денні хвилини на робочий процес, застосуйте зростання швидкості злиття та додайте запас для змін матриці.Чому мій рахунок за GitHub Actions такий високий?Зазвичай одна з чотирьох речей: хвилини macOS, розгортання матриці, відсутність скасування паралельного доступу або великі бігуни.Чи платять загальнодоступні сховища за керовані бігуни?У стандартних раннерах, розміщених на GitHub, ні. У керованих постачальників, включаючи runnerhut, так, але доступні програми з відкритим кодом.Скільки коштує сховище кешу дій?GitHub включає 10 ГБ на репозиторій безкоштовно та виселяє понад це. Кеш runnerhut необмежений і включений.Як виставляється плата за зберігання знімків?За гігабайт на місяць для збереженого знімка, окремо від обчислювальних хвилин.Чи можу я виконувати більше одночасних завдань, ніж дозволяє мій план GitHub?так Паралельність керованого бігуна встановлюється вашим постачальником бігуна, а не обмеженнями розміщеного бігуна вашого плану GitHub.

Продуктивність10

Чому GitHub Actions повільні?Найчастіше: спільний vCPU, холодні кеші, мережевий диск і час у черзі перед початком завдання.Як швидко починаються бігуни після того, як завдання стоїть у черзі?runnerhut (раннерхат) бігуни стартують приблизно за три секунди з теплого басейну.Чи потрібно мені змінювати робочий процес?Ні. Змініть мітку для запуску та залиште все як є.Як вибрати розмір бігунка?Почніть на один розмір вище поточного бігуна, а потім перевірте використання ЦП і зупиніться, коли крива згладжується.Чому мої завдання стоять у черзі одне за одним?Ви досягли ліміту паралельності — вашого плану, вашої групи бігунів або групи паралельності в робочому процесі.Чому мої тести Python працюють повільніше в CI, ніж локально?pytest є послідовним за замовчуванням, і ваш ноутбук має швидшу одноядерну продуктивність і теплий кеш файлової системи.Чому npm інсталюється повільно в CI?node_modules записує десятки тисяч невеликих файлів, і підключений до мережі CI-диск справляється з цим погано.Чому демон Gradle запускає кожен запуск?Кожне завдання CI — це нова машина, тому немає демона для повторного використання — і без кешу конфігурації Gradle повторно оцінює всю збірку.Чому моє завдання показує високе очікування введення-виведення?Робоче навантаження прив’язане до диска — зазвичай встановлення залежностей, вилучення шару контейнера або бази даних у контейнері служби.Скільки завдань можна виконувати одночасно?Це залежить від вашого плану для бігунів, розміщених на GitHub, і від налаштованого паралелізму для керованих бігунів.

Кешування38

Чому Cargo все перебудовує?Ваш ключ кешу змінюється під час кожного запуску, або target/ взагалі не кешується.Чому відновлення кешу відбувається повільно?GitHub регулює пропускну здатність кешу, тому для відновлення кешу розміром у кілька гігабайтів може знадобитися кілька хвилин.Як написати хороший ключ кешу?Хешуйте саме ті файли, які визначають кешований вміст — зазвичай це файл блокування — і нічого більше.Що таке ключі відновлення?Упорядковані префікси пробуються, коли відсутній точний ключ кешу, тому частковий збіг все ще можна відновити.Чому мій кеш пропускає кожен запуск?Ключ містить щось, що змінюється щоразу — зазвичай github.sha або позначку часу.Скільки тривають кеші?GitHub видаляє кеші, які не використовуються протягом 7 днів або раніше, якщо сховище перевищує 10 ГБ.Як очистити кеш?Видаліть його зі сторінки кешу дій сховища або через REST API або gh CLI.Чи переносяться кеші через філії?Гілка може читати кеші з себе та зі своєї базової гілки, але не з непов’язаних гілок.Чи можу я використовувати кеш між робочими процесами?На раннерах, розміщених на GitHub, лише в тому самому сховищі та гілки. Кеш-пам’ять runnerhut спільно використовується між робочими процесами в організації.Що таке обмеження розміру кешу GitHub Actions?10 ГБ на репозиторій, після чого записи, які найменше використовувалися, вилучаються.Як я кешую node_modules?Кешуйте ~/.npm із ключем package-lock.json або відновіть напряму node_modules, якщо ваша інсталяція детермінована.Як кешувати залежності pip?Кешуйте ~/.cache/pip у файлі requirements.txt або кешуйте весь virtualenv для більшого виграшу.Як кешувати модулі Go?Кеш ~/go/pkg/mod і ~/.cache/go-build з ключем go.sum.Як кешувати залежності Cargo?Кешувати ~/.cargo/registry, ~/.cargo/git і target/ на Cargo.lock.Як кешувати залежності Maven?Кешувати ~/.m2/repository з ключем хешу кожного pom.xml.Як кешувати збірки Gradle?Кешуйте ~/.gradle/caches і ~/.gradle/wrapper, а також увімкніть кеш збірки та конфігурації.Як кешувати дорогоцінні камені Bundler?Постачальник кешу/комплект із ключем Gemfile.lock, тому рідні розширення компілюються один раз.Як кешувати залежності Composer?Кеш ~/.composer/cache введений у composer.lock.Як кешувати CocoaPods?Cache Pods/ і ~/Library/Caches/CocoaPods з ключем на Podfile.lock.Як кешувати залежності Swift Package Manager?Кешувати .build і ~/Library/Caches/org.swift.swiftpm ключ на Package.resolved.Як кешувати Yarn Berry?Кешувати .yarn/cache та .yarn/install-state.gz із ключем yarn.lock.Як кешувати середовища UV або Poetry?Кеш ~/.cache/uv або ~/.cache/pypoetry, введений у файл блокування, а також каталог .venv.Як кешувати браузери Playwright?Кеш ~/.cache/ms-playwright, введений у версію Playwright із вашого файлу блокування.Як кешувати шари Docker?Використовуйте віддалений конструктор, який зберігає кеш локально, або експортуйте до реєстру з кешуванням до та кешуванням.Чи працює кешування всередині завдання контейнера?Так, але шляхи всередині контейнера відрізняються від шляхів на хості, тому ключі кешу мають посилатися на шляхи контейнера.Чи працюють кеші на різних архітектурах?Ні. Зкомпільовані артефакти для x64 недійсні на arm64, тому архітектура має бути частиною ключа.Чи працюють кеш-пам’яті на бігунах Windows?Так, але роздільники шляхів і чутливість до регістру відрізняються, тому ключі та шляхи потребують спеціальної обробки Windows.Як зберегти кеш рівня Docker між запитами на отримання?Використовуйте постійний віддалений конструктор — його кеш не прив’язаний до гілки.Чи можу я кешувати зібраний образ замість перебудови?Так — надішліть його до реєстру, позначеного хешем вмісту, і витягніть його, коли вхідні дані не зміняться.Чи можу я зберігати базу даних теплою між завданнями?Не зі службовими контейнерами, які знищуються разом з роботою. Натомість завантажте попередньо переміщений дамп схеми.Чи можу я зберігати Xcode DerivedData між запусками?так Persist ~/Library/Developer/Xcode/DerivedData — це найбільша єдина перемога для iOS CI.Чи замінюють засоби запуску знімків дії/кеш?Вони можуть. Знімок відновлює весь стан машини, тому крок встановлення зникає, а не прискорюється.Що зберігається на знімку?Уся файлова система під час знімка — встановлені пакунки, вбудовані розширення, каталоги інструментів і гарячий кеш сторінок.Як зробити знімок недійсним?Введіть його в хеш файлу блокування, щоб зміна залежності автоматично ініціювала відновлення.Як довго зберігаються знімки?14 днів за замовчуванням на runnerhut, потім перебудовується під час наступного використання.Чи можу я зробити знімок гілки функції?Та й знімки гілок ізольовані один від одного.Що таке Snapshot Runers?Програми запуску, які завантажуються з образу файлової системи, отриманого після встановлення ваших залежностей, тому встановлення повністю пропускається.Чи працюють миттєві знімки на програмах для запуску macOS?Так, і вони там особливо цінні, тому що CocoaPods і DerivedData повільно відновлюються.

arm6412

Чи може GitHub Actions запускати arm64?так GitHub пропонує раннери arm64 на платних планах, а керовані провайдери, включаючи runnerhut, пропонують їх на всіх планах.Чи можу я створити образи arm64 на бігуні x64?Так, з QEMU — але це в 5–40 разів повільніше, ніж створення нативної системи.Що змінюється при переході з x64 на arm64?Нативні модулі, колеса Python і будь-яка збірка x86 потребують підтримки aarch64. Більшість основних залежностей тепер мають його.Чи можу я запускати завдання arm64 і x64 в одному робочому процесі?так Використовуйте матрицю з іншою міткою бігуна для кожної архітектури.Чи підтримують ранери arm64 buildx?Так, і на рідному обладнанні arm64 buildx створює зображення arm64 без емуляції.Чи можу я запускати 32-розрядні збірки ARM на раннерах arm64?Так, через крос-компіляцію з інструментальним ланцюгом armhf або з підтримкою кількох бібліотек, де доступна.Як запустити інтеграційні тести arm64?Запустіть усе завдання на рідній програмі для запуску arm64, включаючи будь-які службові контейнери, які повинні мати зображення arm64.Які розміри бігунів arm64 доступні?runnerhut пропонує від 2 до 64 бігунів vCPU arm64 на Ubuntu 22.04 і 24.04.Чи використовують бігуни arm64 інший робочий каталог?Ні. Шляхи відповідають зображенням x64, тому робочі процеси переносять без змін.Як створити двійковий файл Rust для кількох цілей?Використовуйте матрицю з одним власним бігуном на ціль, а не крос-компіляцію всього на одній машині.Чи може GitHub Actions створювати зображення з кількома арками?Так — або з QEMU на одному бігуні, або нативно на бігунах для кожної архітектури та об’єднані в список маніфестів.QEMU чи нативний arm64 швидший?Рідний, із коефіцієнтом від 5 до 40 залежно від того, скільки компілюється збірка.

macOS та iOS15

Чи підтримують програми GitHub Actions macOS?Так, як розміщені на GitHub, так і керовані постачальники пропонують запускачі macOS на кремнієвому пристрої Apple.Чи можу я створювати додатки для iOS без запуску Mac?Ні. Xcode працює лише на macOS, тому для збірки iOS потрібен бігун macOS.Чи попередньо встановлено Xcode на раннерах macOS?так Зображення runnerhut постачають кілька версій Xcode з відповідними інструментами командного рядка.Як вибрати версію Xcode?Запустіть sudo xcode-select -s /Applications/Xcode_16.4.app перед кроками збірки.Які версії Xcode доступні?зображення runnerhut macOS 15 містять Xcode 16.0, 16.2 і 16.4; Образи macOS 14 містять версії 15.2 і 15.4.Які версії macOS підтримуються?runnerhut пропонує зображення macOS 14 і macOS 15 на Apple silicon.Чи підтримує GitHub Actions Apple silicon?так Як розміщені на GitHub, так і керовані програми для запуску macOS тепер працюють на Apple Silicon.Скільки диска мають програми для запуску macOS?runnerhut програми для запуску macOS забезпечують від 250 ГБ до 1 ТБ NVMe залежно від розміру.Які середовища виконання симулятора постачаються на раннерах macOS?iOS 17.5–18.4, а також робочі середовища watchOS, tvOS і visionOS.Чи можу я використовувати Docker на раннерах macOS?Лише через віртуальну машину Linux, яка працює повільно. Замість цього запускайте робочі навантаження Docker на бігунах Linux.Чи можу я запускати macOS runner в ЄС?так runnerhut керує потужністю macOS у регіонах ЄС відповідно до вимог резидентності даних.Чи можу я запускати збірки Android та iOS в одному робочому процесі?Так — використовуйте матрицю з раннером macOS для iOS і раннером Linux для Android.Як пришвидшити повторне збирання Xcode?Зберігайте DerivedData між запусками та закріплюйте версію Xcode.Як запустити тести iOS паралельно?Розділіть тестову ціль або тестовий клас у кількох симуляторах на одному великому програмному забезпеченні macOS.Як нотаріально завірити програму macOS у CI?Використовуйте notarytool із ключем App Store Connect API, який зберігається як секрет.

вікна11

Чи може GitHub Actions запускати збірки Windows?так Запуски Windows Server доступні як на GitHub, так і в керованих постачальників.Чи можу я запускати збірки Windows Server 2022?так runnerhut пропонує образи Windows Server 2022 і 2025.Які версії Windows підтримуються?Windows Server 2022 і Windows Server 2025.Чи попередньо встановлено Visual Studio?так Інструменти збірки для 2022 і 2025 років постачаються з робочими навантаженнями C++, .NET desktop, ASP.NET і UWP.Як інсталювати додаткові компоненти Windows SDK?Використовуйте vs_installer.exe, змініть параметр --add і ідентифікатор компонента.Чому бігуни Windows запускаються повільніше?Windows завантажується повільніше, і Defender сканує все, що записує касова служба.Чи можу я запустити Docker на програмах Windows?Так, для контейнерів Windows. Для контейнерів Linux потрібна вкладена віртуалізація.Чи підтримують бігуни Windows вкладену віртуалізацію?На runnerhut, так, на зображеннях і розмірах Windows Server 2025, які піддають Hyper-V.Який найменший розмір бігуна Windows?4 vCPU. Менші розміри витрачають занадто багато роботи на накладні витрати на ОС, щоб бути корисними.Чи можу я запускати тести паралельно в Windows?так dotnet test --parallel і MSBuild -m використовують кілька ядер.Як запустити сценарії PowerShell?Установіть shell: pwsh на кроці для PowerShell Core або shell: powershell для Windows PowerShell 5.1.

Docker17

Як зменшити час отримання зображення?Використовуйте протягнутий кеш реєстру в тій самій мережі, що й програма запуску.Як скинути кеш конструктора Docker?Запустіть docker buildx prune у конструкторі або повторно створіть екземпляр конструктора.Чи підтримують віддалені конструктори мультиплатформенні збірки?так runnerhut запускає окремі збірники amd64 і arm64 і об’єднує результати.Як надіслати список маніфестів?Створіть кожну архітектуру за дайджестом, а потім об’єднайте їх за допомогою інструментів docker buildx imagetools create.Чому збірка мого Docker повільна?Кеш холодного рівня, кеш, переданий через мережу, або arm64, створений за емуляцією.Чому збірці Docker не вистачає диска?Ранери, розміщені на GitHub, мають близько 14 ГБ вільного місця, які великі зображення та їх кеш шарів швидко вичерпуються.Чому оновлення базового зображення робить усе недійсним?Кожен шар після FROM залежить від дайджесту базового зображення, тому нова база робить усі їх недійсними.Яка різниця між кеш-від і кеш-до?cache-from імпортує існуючий кеш рівня; cache-to експортує кеш, створений цією збіркою.Чи потрібен мені buildx?Для мультиплатформенних збірок, монтування кеш-пам’яті або віддалених збірників – так. Для простої одноарочної конструкції – ні.Що таке віддалений конструктор Docker?Постійний екземпляр BuildKit, до якого підключається ваше завдання, який зберігає кеш шарів на власному диску.Як виставляється плата віддаленому будівельнику?За секунду активного часу створення, окремо від хвилин бігуна.Чи можуть дві роботи розділяти одного будівельника?так Ноги матриці та окремі робочі процеси можна приєднувати до одного конструктора та спільно використовувати його кеш.Як побудувати та просунути за один крок?Використовуйте docker/build-push-action із push: true.Як використовувати Docker Bake?Визначте цілі в docker-bake.hcl і запустіть docker buildx bake за крок.Як пройти автентифікацію в приватному реєстрі?Використовуйте docker/login-action із маркером або OIDC для хмарних реєстрів.Чи можу я запустити Docker Compose?так Compose v2 попередньо встановлено; використовуйте docker compose up -d --wait, щоб кроки не перебігали при запуску.Чи можу я використовувати Podman замість Docker?так Podman доступний і значною мірою сумісний з CLI з Docker.

Безпека19

Чи безпечні засоби запуску знімків для загальнодоступних сховищ?Лише якщо миттєві знімки зроблені з надійних гілок і ніколи із запитів на вилучення форків.Як створити SBOM?Увімкніть sbom: справжній вихід buildx або запустіть syft зі створеним образом.Як додати походження збірки?Використовуйте дії/attest-build-provenance або походження buildx: справжня атестація.Як передати секрети в збірку Docker?Використовуйте секрети збірки BuildKit з --secret, ніколи не ARG або ENV.Чи безпечно запускати GitHub Actions?Розміщені на GitHub і авторитетні керовані бігуни — це ефемерні одноразові віртуальні машини, що є правильною моделлю ізоляції.Чи зберігають ранери мій вихідний код?Тільки на час роботи. runnerhut знищує віртуальну машину та стирає її диск після завершення завдання.Чи може платформа бігунів бачити мої секрети?Секрети розшифровуються в пам’яті раннера для використання, тому будь-яка платформа раннера технічно може це зробити.Як встановити дозволи GITHUB_TOKEN?Додайте блок дозволів на рівні робочого процесу або завдання та надайте лише потрібні області.Як пройти автентифікацію в AWS за допомогою OIDC?Налаштуйте GitHub як постачальника OIDC в IAM і використовуйте aws-actions/configure-aws-credentials із роллю.Чи змінюють керовані бігуни мої дозволи GitHub?Ні. Завдання виконуються з тим самим GITHUB_TOKEN і такими самими дозволами, що й у раннерах, розміщених на GitHub.Чи можу я обмежити, які сховища використовують мої бігуни?Так, із групами бігунів, пов’язаними з певними організаціями чи сховищами.Чи відповідає runnerhut SOC 2?runnerhut підтримує SOC 2 типу 2, звіт доступний згідно з NDA.Де зберігаються мої дані збірки?У регіоні, який ви виберете. Обчислення, кеш, журнали та показники закріплені в одному регіоні.Чи можу я зберігати збірки лише в ЄС?так Розгортання лише для ЄС прикріплюють обчислення, кеш, журнали та показники до регіонів ЄС.Чи можу я обмежити вихідний трафік?так Політики виходу забороняють за умовчанням і дозволяють лише пункти призначення, які ви вказали.Як перевірити зміни конфігурації бігуна?Журнал аудиту записує актора, позначку часу, IP джерела та значення до/після для кожної зміни конфігурації.Де фізично бігають керовані бігуни?У центрах обробки даних провайдера або у вашому власному хмарному обліковому записі під BYOC.Що відбувається з дисками бігунів після роботи?На runnerhut вони криптографічно стираються, а віртуальна машина знищується.Чи зберігають бігуни стан між завданнями?Ефемерні бігуни цього не роблять. Постійні саморозміщувані бігуни це роблять, що є ризиком для безпеки публічних сховищ.

Принесіть власну хмару18

Чи можуть бігуни отримати доступ до моєї приватної мережі?Так, через бігуни BYOC у вашому VPC або мережеву мережу, таку як Tailscale.Чи можуть бігуни бігати в моєму власному хмарному обліковому записі?так BYOC розгортає бігуни у вашому обліковому записі AWS, GCP або Azure, поки контрольна площина залишається під керуванням.Що створює runnerhut у моєму хмарному обліковому записі?Група автомасштабування, відро кешу, протягувальний кеш реєстру, роль IAM із обмеженою областю та кінцева точка VPC.Які дозволи AWS потрібні BYOC?Дозволи на керування власною групою автомасштабування, сегментом кешу та роллю екземпляра — нічого ширшого.Чи можу я використовувати власний VPC?так Ви вказуєте VPC, і там розміщуються ідентифікатори підмережі та бігуни.Чи можуть користувачі BYOC отримати доступ до внутрішніх служб?Так — це основна причина використання BYOC. Вони знаходяться у вашій мережі зі звичайною маршрутизацією.Чи потрібен шлюз NAT користувачам BYOC?Їм потрібен вихідний Інтернет для отримання зображень і пакетів, що зазвичай означає шлюз NAT.Чи можна запускати BYOC у приватній підмережі?Так, і повинні. Вихідний доступ здійснюється через кінцеві точки NAT або VPC.Чи можу я приєднати роль IAM до бігуна BYOC?Так, через профіль екземпляра — тому завдання отримують облікові дані без будь-яких збережених секретів.Чи працює BYOC з IMDSv2?Так, і IMDSv2 застосовується за замовчуванням.Чи можу я запустити BYOC у кількох регіонах?так Розгорніть модуль для кожного регіону та позначте бігуни за регіонами.Чи підтримує BYOC власні зображення?так Надайте власний AMI або образ машини з вбудованими інструментами.Чи підтримує BYOC Windows?Так на AWS і Azure. Підтримка GCP Windows більш обмежена.Чи підтримує BYOC GCP локальний SSD?Так, на сімействах машин, які це пропонують.Як працює виставлення рахунків BYOC?Ви платите своєму хмарному провайдеру за обчислення та мережу, а runnerhut — знижену плату за контрольну плату.Як позначити ресурси BYOC?Встановити теги розподілу вартості в модулі Terraform; вони поширюються на кожен створений ресурс.Як видалити стек BYOC?Злийте бігуни, потім терраформуйте, знищивши модуль.Чи можу я керувати виходом на раннерах BYOC?Так, разом із групами безпеки, NACL і політикою виходу runnerhut.

Робочі процеси30

До скількох робочих місць може розгорнутися матриця?GitHub обмежує одну матрицю 256 завданнями на запуск робочого процесу.Як локально відтворити помилку CI?Зіставте зображення бігуна, а потім підключіть SSH до активного бігуна, якщо помилка з’являється лише в CI.Чи можу я підключити SSH до бігуна?так runnerhut підтримує відкриття сеансу налагодження для запущеного завдання за допомогою авторизованого ключа SSH.Чи можу я поєднувати ранери, розміщені на GitHub, і керовані?так runs-on для кожного завдання, тому різні завдання в одному робочому процесі можуть використовувати різні постачальники.Як змінити бігун?Відредагуйте початкове значення для завдання. Більше нічого не потрібно змінювати.Як запустити завдання лише тоді, коли файли змінюються?Використовуйте шляхи або ігнорування шляхів на тригері або дію виявлення змін для більш точного керування.Як запустити робочий процес вручну?Додайте тригер workflow_dispatch, необов’язково з введеними вводами.Як виконувати завдання за розкладом?Використовуйте тригер розкладу з синтаксисом cron у UTC.Як скасувати замінені прогони?Встановіть групу паралелізму, введену в посилання, із скасуванням у процесі: істина.Як обмежити робочий процес одним запуском за раз?Використовуйте фіксовану назву групи паралелізму з cancel-in-progress: false.Що відбувається, коли два робочі процеси спільно використовують групу паралельного доступу?Вони серіалізуються — другий чекає або скасовує перший залежно від поточного скасування.Як встановити тайм-аут завдання?Додайте тайм-аут до завдання. За замовчуванням шість годин.Як повторити невдалий крок?Використовуйте дію повторної спроби або загорніть команду в цикл повторної спроби оболонки.Як повторно використовувати робочий процес у сховищах?Опублікуйте багаторазовий робочий процес і викличте його за допомогою workflow_call.Як написати складену дію?Створіть action.yml із runs.using: composite та списком кроків.Як використовувати матрицю включення та виключення?включати додає або розширює комбінації; exclude видаляє їх із створеного продукту.Як пропустити CI під час фіксації?Додайте [skip ci] до повідомлення коміту.Як написати резюме про роботу?Додайте Markdown до $GITHUB_STEP_SUMMARY.Як запустити базу даних у CI?Задекларуйте його як службовий контейнер із перевіркою працездатності.Як опублікувати пакет?Використовуйте довірену публікацію OIDC, якщо це підтримується реєстром, інакше – маркер із обмеженою областю в секреті середовища.Як обмінюватися даними між завданнями?Завантажте артефакт в одне завдання та завантажте його в наступне або використовуйте результати завдання для невеликих значень.Як зупинити повільний робочий процес, що блокує розгортання?Відокремте необхідні перевірки від консультативних і позначте лише необхідні швидкі та надійні роботи.Як запустити тести браузера без голови?Використовуйте безголовий прапор для свого бігуна або xvfb-run для інструментів, яким потрібен дисплей.Як запустити тести Go Race Detector?Run go test -race. Очікуйте приблизно в 2–10 разів повільніше виконання та більше використання пам’яті.Яка різниця між роботою та кроком?Завдання виконується на одному бігуні та містить кроки; кроки виконуються послідовно в одному робочому просторі.Яка різниця між раннерами, розміщеними на GitHub, і власними?Розміщені на GitHub керовані, тимчасові та оплачуються за хвилину. Ви можете керувати самостійним розміщенням на своєму обладнанні.Які операційні системи можуть працювати з GitHub Actions?Linux, Windows і macOS, на x64 і arm64 залежно від постачальника.Як довго зберігаються артефакти?90 днів за замовчуванням, можна налаштувати для кожного сховища або для кожного завантаження до одного дня.Як налагодити невдалу роботу?Увімкніть поетапне ведення журналу налагодження, додайте підсумок завдання або відкрийте сеанс SSH на бігуні.Як запустити роботу лише за запитами на отримання?Використовуйте тригер pull_request і умову if для більш точного керування, наприклад пропускання чернеток.

Спостережливість19

Як переглянути вартість робочого процесу?Інформаційна панель runnerhut розподіляє витрати за робочим процесом, завданням, міткою та сховищем.Як переглянути ціну за етикетку бігуна?Відфільтруйте інформаційну панель використання за міткою, щоб побачити хвилини та витрати за типом бігуна.Як визначити бігуна низького розміру?Стійкий ЦП майже на 100%, тиск пам’яті або активність обміну під час завдання.Як знайти найповільніший крок у робочому процесі?Сортуйте кроки за тривалістю в режимі перегляду виконання або скористайтеся часовою шкалою runnerhut, яка окремо показує чергу, налаштування та час кроку.Як дізнатися, який робочий процес уповільнився?Порівняйте тривалість p95 для кожного робочого циклу місяць за місяцем на інформаційній панелі аналітики.Як виміряти частоту звернень до кешу?Інформаційна панель runnerhut повідомляє частоту звернень, час відновлення та розмір кожного ключа кешу.Як експортувати дані про роботу?Використовуйте API runnerhut або API GitHub Actions REST і запишіть результати в CSV.Чи може агент AI запитувати мої показники CI?Так, через сервер MCP runnerhut, який надає як інструменти збірки, тривалість, відмови та вартість.Чи можуть агенти AI запускати завдання CI?Так, через API або шляхом натискання гілок, як і будь-який інший актор.Які показники надає API?Час у черзі, відсотки тривалості, частота звернень до кешу, використання ЦП і пам’яті, а також вартість завдання, мітки та робочого процесу.Як переглянути використання процесора та пам’яті для завдання?runnerhut автоматично записує використання кожного завдання та показує його на сторінці запуску.Чи можу я сповіщати про завдання з браком пам’яті?так Сповіщення про знищення OOM або використання пам’яті, що перевищує порогове значення.Як підготувати щотижневий звіт про здоров’я CI?Заплануйте робочий процес, який надсилає запити до API метрик і публікує тривалість p95, частоту звернень до кешу, частоту фрагментації та витрати.Чому моя робота була вбита кодом виходу 137?Це OOM kill — процес перевищив доступну пам’ять.Чому в моїй роботі закінчився диск?Ранери, розміщені на GitHub, мають приблизно 14 ГБ вільного місця; Шари Docker і node_modules швидко виснажуються.У бігунів великі диски?Ранери, розміщені на GitHub, мають близько 14 ГБ вільного місця. runnerhut раннери забезпечують від 150 ГБ до 2 ТБ локального NVMe.Чи обмежують групи бігунів паралельність?Вони можуть. Група може мати власну максимальну кількість одночасності, незалежно від ліміту вашого облікового запису.Які обмеження швидкості GitHub API впливають на CI?GITHUB_TOKEN обмежено репозиторієм на годину; робочі процеси, що здійснюють багато викликів API, можуть виснажити його.Чому мої завдання досягають часу очікування мережі?Зазвичай обмеження швидкості реєстру, вузьке місце шлюзу NAT або політика виходу мовчки пропускають трафік.