Workers Builds і Pages — як тепер працює вибір GitHub репозиторіїв

У changelog Cloudflare описується зміна в тому, як Workers Builds і Pages показують GitHub репозиторії при підключенні проєктів. Підхід тепер привʼязаний до конкретного GitHub користувача, а не лише до загальної установки GitHub App на Cloudflare акаунті.

Що саме змінилося у виборі репозиторіїв

Раніше список репозиторіїв у Workers Builds і Pages формувався на основі установок GitHub App, привʼязаних до Cloudflare акаунта. Через це ви могли бачити в переліку репозиторії, до яких насправді не маєте доступу у GitHub (вони належать іншому користувачу з тим самим Cloudflare акаунтом).

Тепер список враховує ваш GitHub профіль:

  • відображається ваш власний GitHub акаунт, якщо на нього встановлено Cloudflare GitHub App
  • відображаються лише ті GitHub організації, де додаток встановлено і де у вас є доступ хоча б до одного репозиторію
  • всередині кожного акаунта або організації показуються тільки репозиторії, до яких ви маєте доступ у GitHub

GitHub акаунти інших користувачів більше не зʼявляються у списку, навіть якщо власник надав вам доступ до окремих репозиторіїв. Фокус зміщається з «усіх установок додатку в межах Cloudflare акаунта» на «доступи конкретного GitHub користувача».

Приклад з кількома розробниками

Cloudflare описує ситуацію, коли троє розробників працюють у межах одного Cloudflare акаунта і всі троє авторизували GitHub App.

Three developers on the same Cloudflare account have all authorized the app, and the app is installed on acme-corp and dev-1. Each sees a different repository picker. dev-1 can pick acme-corp or dev-1, with payments-api and website listed for acme-corp. dev-2 can only pick acme-corp, with only website listed. dev-3 has no accounts or repositories, only the option to add a GitHub account.

  • Перший розробник бачить у пікері акаунти acme-corp і dev-1, а в acme-corp — два репозиторії payments-api і website.
  • Другий бачить тільки acme-corp і всередині — лише website, бо до payments-api доступу немає.
  • Третій не бачить жодного акаунта або репозиторію і отримує тільки опцію додати GitHub акаунт.

Отже, один і той самий Cloudflare акаунт дає різним розробникам різні списки репозиторіїв, залежно від їхніх прав у GitHub.

Як GitHub розділяє авторизацію і установку додатку

Ключова деталь, яку підкреслює документація — в GitHub є два окремі кроки роботи з Cloudflare GitHub App: авторизація користувача і установка додатку.

Authorize: tells Cloudflare who you are, once per person, listed under Authorized GitHub Apps. Install: decides which repositories Cloudflare can access, listed under Installed GitHub Apps.

  • Authorize — разовий крок для кожної людини. Він «розповідає» Cloudflare, ким ви є в GitHub. Після нього додаток зʼявляється на сторінці Authorized GitHub Apps у вашому профілі.
  • Install — окреме рішення про те, до яких конкретних репозиторіїв GitHub App має доступ. Цей крок показаний у розділі Installed GitHub Apps для обраного акаунта або організації.

У інструкціях Cloudflare це докладніше описано в розділах про GitHub інтеграцію:

Що відбудеться у вже існуючих користувачів

Cloudflare окремо пояснює, як зміна поведінки торкається різних сценаріїв.

  • Якщо ви вже авторизували GitHub App своїм користувачем
    Нічого не змінюється в поточній роботі. Ваші доступи залишаються, і ви можете перевірити авторизацію на сторінці Authorized GitHub Apps у GitHub.
  • Якщо ви ще не авторизували додаток
    Під час наступної спроби підключити репозиторій Cloudflare перекине вас у GitHub для авторизації. Зробити це потрібно лише один раз для вашого користувача, навіть якщо хтось інший на тому ж Cloudflare акаунті вже підключав GitHub.
  • Якщо додаток не встановлено на жоден GitHub акаунт, до якого ви маєте доступ
    Після авторизації вам доведеться встановити додаток або на свій персональний GitHub акаунт, або на організацію. У цьому сенсі процес не змінився.
  • Якщо якийсь акаунт або організація не зʼявляється у списку
    Слід вибрати опцію Add GitHub account і встановити додаток для цього акаунта чи організації.

Що станеться з уже підключеними проєктами

Cloudflare окремо зазначає, що поточні проєкти, які вже привʼязані до GitHub репозиторію, продовжують працювати як і раніше. Зміна торкається лише того, як виглядає список доступних репозиторіїв у момент нового підключення або переналаштування, але не перериває існуючі збірки.

Як розібратися з доступом до репозиторіїв

Для детальнішого аналізу того, чому конкретний репозиторій або організація не видно у пікері, Cloudflare пропонує окремі розділи документації про доступ до репозиторіїв:

Ці матеріали описують поєднання двох рівнів прав: того, що дозволено GitHub App при установці, і того, до чого має доступ ваш конкретний GitHub користувач.


Джерело: Cloudflare Changelog

Пошук

Закрити