Bỏ qua để đến nội dung

Onboard project của khách hàng vào Orbit

Cách đưa test của một khách hàng mới vào Orbit, từ một project trống đến run đầu tiên.

  • System Admin: người tạo project.
  • Project Admin: người hoàn tất setup, hoặc thêm environment khác về sau.

Nếu bạn chỉ chạy test, bạn không cần guide này. Đọc Các tính năng run trên Station.

Bạn cần:

  • Một account System Admin đã setup authenticator (MFA). Khi tạo project, Orbit hỏi mã một lần trong mỗi session đăng nhập.
  • Tên khách hàng và một tên ngắn cho project (chữ thường, chữ số và dấu gạch ngang, 2 đến 50 ký tự), ví dụ example-customer.
  • Một test repo trong GitHub organization của Orbit, có file orbit.workload.yaml ở thư mục gốc trên default branch. Phần tiếp theo cho biết file này cần những gì.
  • Địa chỉ của hệ thống được test (ví dụ base URL) và tên các secret dùng để đăng nhập vào hệ thống đó.
  • Console: trang web nơi bạn setup mọi thứ và đọc kết quả.
  • Station: chương trình trên máy Windows, là nơi thực sự chạy test.
  • Customer: công ty mà bạn test cho họ. Không bắt buộc. Chỉ dùng để nhóm các project.
  • Project: không gian test của một khách hàng. Project chứa environment, workload, user và kết quả.
  • Environment: một hệ thống được test, ví dụ dev hoặc qas. Test chạy trên environment đó.
  • Repository và workload: một test repo (test Playwright). Các bước setup gọi nó là Repository (Add a repository); khi đã register, repo được liệt kê là một workload trên Project settings, Workloads. Mỗi repo test một environment.
  • Manifest: file orbit.workload.yaml trong repo. File này cho Orbit biết tên của workload, team của nó, và các variable và secret mà test cần.
  • Team và role: user được cấp access thông qua một team. Team có một role trên project (Viewer, QA Engineer, QA Lead hoặc Project Admin). Xem User và role.

Project settings (trên menu), phần Overview, liệt kê các bước trong mục Steps. Phía trên các bước, ngay dưới progress bar, có một banner Next: , với một nút mở đúng chỗ cần làm. Banner này luôn chỉ vào bước đầu tiên chưa xong và cập nhật sau mỗi lần lưu. Khi không còn gì phải làm, banner ghi Ready: run a test on kèm Open Executions. Nếu bước tiếp theo là việc bạn không có permission, banner cho biết bạn cần hỏi ai.

Danh sách bắt đầu bằng Project (không đánh số). Dòng này xong ngay khi project được tạo và không tính vào trạng thái “ready”. Dòng này cũng hiện Customer: “Customer set” hoặc “No customer yet” (không bắt buộc; chỉ dùng để nhóm project). System Admin thấy nút Set customer ở đó; nút này mở Admin, Projects and customers, tab Customers. Sau đó là các bước có đánh số:

  1. Environments. Bước check repo cần tìm thấy một environment.
  2. Repository. Orbit đọc manifest để biết test cần những tên nào. Bạn thêm repo bằng Add a repository (xem bên dưới).
  3. Configuration. Bạn chỉ nhập được đúng các variable và secret khi Orbit đã biết tên của chúng. Bên dưới bước này có một dòng status: ghi Ready to run on khi compatibility ổn, hoặc ghi rõ còn thiếu gì, kèm Open the compatibility matrix (bảng Workloads by environment trên Project settings, Environments). Compatibility không phải là bước có đánh số, nhưng vẫn được tính vào trạng thái “ready”.
  4. People. User đầu tiên được thêm vào cũng tạo luôn team có tên trong manifest, nếu team đó chưa có.

Bên dưới danh sách có đánh số, dưới mục Next steps (đánh dấu bằng mũi tên thay cho số), là các bước không bắt buộc: First run, một run ad-hoc trên một Station (không cần release hay cycle), và Release and cycles.

Bạn có thể làm các bước theo thứ tự bất kỳ. Phần hướng dẫn dưới đây đi theo thứ tự này và cho thấy những gì còn thiếu.

  1. Đăng nhập bằng account System Admin. Mở Admin, Projects and customers, tab Projects, rồi chọn New project. Panel New project mở ra. (New project trên dòng Project của Project settings, Overview mở cùng panel này.)
  2. Điền:
    • Name: tên hiển thị, ví dụ Example Customer.
    • Short name: chữ thường, ví dụ example-customer. Field này được điền sẵn từ tên; bạn có thể sửa nếu muốn.
    • Customer: chọn một khách hàng, hoặc chọn New customer… rồi gõ New customer name, hoặc để No customer yet. System Admin có thể đặt sau trong Details trên Project settings, Overview.
    • Keep artifacts for: 7, 30 hoặc 90 ngày. Trace, screenshot và video bị xóa sau thời gian này. Kết quả vẫn được giữ.
    • Create the project team: giữ nguyên dấu tích. Tùy chọn này tạo team <short-name>-team với role QA Engineer trên project.
  3. Chọn Create project. Một thông báo hiện ra: “Created … and its team …”.
  4. Project settings, Overview mở ở chế độ guide (Guide me). Trang hiện các bước ở phía trên và mỗi lần chỉ một bước.

Panel New project ở Admin, Projects and customers, với các field Name, Short name, Customer, Keep artifacts for và Create the project team

Dòng Project hiện tên project, tên ngắn và, khi project có team mặc định <short-name>-team, tên của team. Dòng này không hiện slug. Bạn tìm slug trong ô của guide (bên dưới), ở Admin, People and access, Teams, tab Project teams (System Admin), hoặc ở dòng team: của một manifest.

Ghi lại slug của team. Ngay sau khi bạn tạo project, bước Repository của guide hiện một ô ghi “Put team: <slug> in orbit.workload.yaml of the repository”, kèm nút Copy. Thường thì slug là <short-name>-team. Nếu một team khác đã dùng slug đó, Orbit thêm một con số (-2), vì vậy luôn copy đúng slug được hiện.

Key Tìm ở đâu Lưu giữ
Tên ngắn của project Field Short name; hiện dưới tên project Không bí mật
Slug của team Ô trong bước Repository của guide, Admin, People and access, Teams (tab Project teams), hoặc dòng team: của một manifest (dòng Project chỉ hiện tên team) Không bí mật. Bạn cần nó trong manifest.
Tên khách hàng Field Customer Không bí mật
  • Chỉ System Admin thấy New project. Project Admin thấy dòng Project ở chế độ read-only.
  • Mỗi bước có Back, Next và, với các bước chưa xong, Skip for now. Next chỉ dùng được khi bước đã xong.
  • Mọi thứ bạn đã lưu đều được giữ. Bạn có thể thoát bằng Leave guide và quay lại sau bằng Guide me trên Project settings, Overview. Các bước đã skip sẽ bị quên khi bạn thoát, nhưng trang vẫn liệt kê những việc còn mở.
  • Trang setup hiện mỗi bước ở một trong các trạng thái Done, To do, Blocked hoặc Optional. Project ở trạng thái Ready khi environment, workload, config, compatibility và user đều đã xong.

Manifest là file orbit.workload.yaml ở thư mục gốc của repo, trên default branch. Người viết test phụ trách file này. Các phần quan trọng khi onboard project:

schemaVersion: 1
id: example-customer-dev # the workload name; unique across all projects; cannot change later
name: Example Customer Dev
team: example-customer-team # the team slug shown after creating the project
environment:
required: [BASE_URL] # names of plain variables the tests read
secrets: [APP_USER, APP_PASS] # names of secrets the tests read

(File thật có thêm các key khác: runner, install, profiles, metadata. Bắt đầu từ repo mẫu và chạy validator, npx github:<your-org>/orbit-workload-tools validate.)

Quy tắc:

  • team: phải là slug của team được hiện sau khi bạn tạo project. Orbit từ chối register một repo mà team của nó không có role trên project.
  • Liệt kê mọi variable và secret theo tên, không bao giờ theo giá trị. Orbit dừng run trước khi bắt đầu nếu thiếu một giá trị.
  • Mỗi repo một environment. Một project có thể có nhiều repo (ví dụ dev và qas), nhưng mỗi repo chỉ test một environment.
  • Tên secret và tên variable dùng chữ in hoa, chữ số và dấu gạch dưới, và không được bắt đầu bằng ORBIT_.

environment.slug. Manifest cũng có thể ghi repo test environment nào (environment: { slug: qas }). Khi manifest có slug, stepper chọn sẵn environment (hoặc đề nghị tạo nó); khi không có, bạn chọn environment ở bước Environment của stepper. Các Station hiện tại và validator đều hiểu key này. Nếu một Station hoặc validator rất cũ từ chối nó, nhờ người vận hành installation Orbit của bạn cập nhật chúng.

Orbit hiện một owner cho mỗi test (coverage theo owner, filter theo owner, notification cho owner). Station xác định owner khi liệt kê các test của một commit, theo thứ tự sau:

  1. Annotation orbit.owner của test:

    test('creates a material', {
    tag: ['@id:MM-001', '@priority:P1'],
    annotation: { type: 'orbit.owner', description: '@anna.tran' },
    }, async ({ page }) => { /* … */ });

    Annotation phải là static: nằm trong phần details của test (như trên) hoặc trên một test.describe. Annotation được thêm lúc test đang chạy (test.info().annotations.push(…)) không được thấy khi liệt kê test, nên bị bỏ qua. Một test kế thừa owner của test.describe chứa nó, và annotation riêng của test sẽ ghi đè. Khi có nhiều annotation orbit.owner, annotation cuối cùng không trống được dùng. Khi một test chạy trong nhiều Playwright project, project đầu tiên có annotation, theo thứ tự trong file config, sẽ quyết định.

  2. CODEOWNERS. Mục dành cho file spec trong .github/CODEOWNERS, nếu không có thì CODEOWNERS, nếu không có nữa thì docs/CODEOWNERS ở thư mục gốc của repo, được đọc giống cách GitHub đọc: dòng match cuối cùng được dùng, và nhiều owner được giữ thành một chuỗi text (@org/qa @lead). Một dòng không có owner khiến file đó không có owner từ CODEOWNERS.

  3. Dòng team: trong manifest.

Owner chỉ là text: Orbit không đối chiếu nó với user hay team. Station gửi thông tin này khi liệt kê các test của commit trong một run, và gửi lại catalog khi test hoặc owner của chúng thay đổi. Vì vậy, run đầu tiên của mỗi workload sau khi nâng cấp Station sẽ điền owner cho các test đã có, mà không cần commit mới.

Hạng mục Quality debt No explicit owner đếm các test không có annotation orbit.owner và cũng không có mục CODEOWNERS. Chỉ có dòng team: trong manifest thì không được tính, vì vậy thêm annotation hoặc file CODEOWNERS để giảm con số này.

  1. Chọn Add an environment (hoặc Add environment trên Project settings, Environments). Form Add an environment mở ra.
  2. Điền Name, Kind (Development, QA, Staging, UAT hoặc Production-like), và nếu muốn thì Time zone, Language và Health check URL. Short name (ví dụ dev) nằm trong Advanced; nếu để trống, nó được tạo từ tên, và không đổi được về sau.
  3. Offline grace (days) là số ngày một Station được phép chạy mà không kết nối được Console. Giá trị 0 tắt chế độ chạy offline.
  4. Chỉ tích Restricted cho các hệ thống gần với production. Khi đó chỉ Project Admin được chạy trên environment này, trừ khi một người được cấp run access (xem User và role).
  5. Chọn Add environment.

Bạn có thể thêm repo bất cứ lúc nào, kể cả khi project đã sẵn sàng: chọn Add a repository ở bước Repository của Overview, hoặc ở đầu Project settings, Workloads. Stepper Add a repository mở ra phía trên danh sách workload. Guide dùng cùng stepper này. Stepper có bốn bước: Repository, Environment, Register và Configuration. Configuration ở cuối vì Orbit chỉ liệt kê được các tên mà một repo cần sau khi repo đã được register, và việc register không cần giá trị nào. Back và Next nằm dưới hai bước đầu; Next bị tắt cho đến khi bước hoàn tất, và lý do hiện bên dưới các nút. Khi repo đã được register, Back bị tắt. Close thoát khỏi stepper.

  1. Repository. Trong GitHub repository, chọn repo từ danh sách (gõ để tìm trong các repo mà Orbit thấy được; repo đã register ghi “Already registered”), hoặc chọn Type owner/name instead rồi gõ theo dạng owner/repo, ví dụ <your-org>/example-customer-dev. Sau đó chọn Check repository. Chưa có gì được lưu. Đọc các dòng kết quả (bên dưới), sửa từng dòng Fix, rồi check lại.
  2. Environment. Ở Which environment does this repo test?, chọn một environment của project. Không có lựa chọn “None yet”: một repo bắt buộc phải test một environment. Nếu manifest ghi một environment.slug mà project chưa có, một ô sẽ đề nghị Create environment : bạn chỉ chọn Kind, các giá trị khác lấy mặc định (offline grace 3 ngày, không restricted). Nếu không, dùng Create a new environment.
  3. Register. Kiểm tra phần tóm tắt (Repository, Workload, Team, May run on) rồi chọn Register repository. Nút này bật khi không có vấn đề nào chặn. Register không cần giá trị nào, và stepper tự chuyển sang Configuration.
  4. Configuration. Bước cuối. Bước này hiện bảng config (xem “Config” bên dưới) cho environment đã chọn: mỗi tên mà manifest cần là một dòng. Bạn có thể bỏ qua bước này (thoát bằng Finish; các tên vẫn ở trạng thái Missing và banner Next trên Overview tiếp tục chỉ vào chúng). Khi xong, chọn Add another repository để làm lại từ đầu, hoặc Finish để đóng stepper.

Mỗi dòng có một nhãn: OK, Fix (chặn register) hoặc Note (không chặn).

Dòng Cần làm gì
“… is not visible to the Orbit GitHub App.” Kiểm tra lại chính tả. Repo phải nằm trong GitHub organization của Orbit và GitHub App phải có access vào repo đó.
“orbit.workload.yaml was not found on the default branch.” Commit manifest lên default branch, rồi check lại.
“The manifest is not valid.” Năm lỗi đầu tiên được liệt kê. Sửa chúng trong repo, rồi check lại.
“A workload with this id already exists (…).” id phải là duy nhất trong mọi project. Đổi id trong manifest, hoặc archive workload kia.
“Team … does not exist.” / “Team … has no role on this project.” Nếu đó là team <short-name>-team của chính project: thêm user đầu tiên ở Project settings, People với role QA Engineer. Link Open People trên dòng đó đưa bạn đến đó, và việc thêm user sẽ tạo team. Nếu đó là team khác: nhờ một System Admin cấp cho team đó một role trên project ở Admin, People and access, Teams.
“The manifest does not say which environment it tests.” (Note) Manifest không có environment.slug. Chọn environment ở bước tiếp theo, hoặc thêm slug (xem phần trên).
“Environment … is archived.” Restore environment đó ở Project settings, Environments trước.
“Environment … does not exist in this project.” Dùng nút Create environment … trên dòng đó, hoặc sửa slug trong manifest.
“Values the manifest asks for are not set yet.” (Note) Liệt kê các tên còn thiếu theo từng environment. Dòng này không chặn register. Điền chúng ở bước cuối, Configuration, sau khi register.
“Verify your authenticator first” System Admin: chọn Verify now, nhập mã, rồi thử lại.

Nếu GitHub không phản hồi, đợi một phút rồi thử lại.

Các giá trị cần ghi lại (Add a repository)

Phần tiêu đề “Các giá trị cần ghi lại (Add a repository)”
Bước trong stepper Key Tìm ở đâu Lưu giữ
Repository Repo owner/repo GitHub Không bí mật
Repository Slug của team Dòng team: trong manifest, hoặc Team ở bước Register Không bí mật. Phải khớp với manifest.
Environment Tên ngắn của environment environment.slug trong manifest, hoặc Project settings, Environments Không bí mật
Environment Kind (Development, QA, Staging, UAT, Production-like) Do bạn quyết định khi tạo environment mới Không bí mật
Register Workload id id trong manifest Không bí mật
Configuration Tên variable và tên secret Các dòng trong bảng config (lấy từ manifest) Tên không bí mật
Configuration Giá trị variable (ví dụ base URL) Hệ thống được test Không bí mật, nhưng member của project đọc được và được giữ trong version history
Configuration Giá trị secret Hệ thống được test (admin của hệ thống hoặc khách hàng) Bí mật, write-only, không bao giờ hiện lại. Lưu một bản backup offline (password manager) trước khi nhập.

Bạn nhập giá trị ở một trong hai nơi:

  • Bảng config: bước cuối (Configuration) của stepper Add a repository, và bước Configuration của guide. Nếu project có nhiều environment, guide hiện một ô chọn Environment phía trên bảng; ô này mở ở environment đầu tiên còn thiếu thứ gì đó (chỉ chọn một lần, nên việc lưu không bao giờ đưa bạn sang environment khác).
  • Project settings, Variables and secrets: Fill in configuration (ở bước Configuration của Overview, hoặc trên banner Next khi đó là bước tiếp theo) mở phần này.

Trong bảng config:

  1. Bảng có mỗi tên mà manifest cần là một dòng cho environment đó (environment.required và environment.secrets của các repo trên environment). Orbit đã biết từng tên, nên bạn chỉ cần gõ giá trị.
  2. Loại do manifest quy định sẵn. Tên nằm trong required là Variable và có ô nhập text. Tên nằm trong secrets là Secret và có ô nhập password, write-only. Bạn không đổi được loại ngay trên dòng.
  3. Mỗi dòng hiện Set hoặc Missing (variable lấy từ cả project hiện Set from project). Secret đã đặt hiện “Set, version N” kèm Replace, không bao giờ hiện giá trị. Các tên đã đặt nhưng không manifest nào yêu cầu được liệt kê trong Not asked for by any manifest.
  4. Giá trị áp dụng cho environment của repo. Với các scope khác (cả project, hoặc một repo trên environment đó) và lịch sử thay đổi, mở Advanced rồi chọn Open Variables and secrets.
  5. Nếu một tên mà manifest khai báo là secret trước đây đã được lưu thành variable thường, dòng đó được đánh dấu (“Set as a plain variable”) và có nút Move to Secrets. Nút này ghi secret và xóa variable. Sau đó hãy đổi password: giá trị cũ vẫn đọc được trong version history của variable. Orbit cũng từ chối lưu một variable thường có tên mà manifest khai báo là secret.
  6. Chọn Save. Banner Next sau đó cập nhật và chỉ vào việc cần làm tiếp theo.

Secret phải nằm trong Secrets. Password, token và key thuộc về các dòng secret. Một giá trị gõ thành variable thường thì member của project đọc được, và vẫn nằm trong history của variable sau khi bạn xóa hoặc thay nó, nên cách khắc phục duy nhất là đổi password tại nguồn. Lưu giá trị thật vào password manager trước khi nhập.

Trên Project settings, Variables and secrets:

  • Applies to chọn scope, được gọi tên rõ ràng: “Whole project (every environment)”, “Environment X (every repository on it)”, “Repository R on X (only this repository)”. Giá trị của repo ghi đè giá trị của environment, và giá trị của environment ghi đè giá trị của project. Phần này mở ở environment của repo trong project (chỉ mở ở scope cả project khi chưa có repo nào).
  • Variables liệt kê trước các tên mà manifest yêu cầu, đánh dấu “from the manifest” kèm Set hoặc Missing. Gõ giá trị (Add variable cho một tên mà không manifest nào yêu cầu) rồi chọn Save variables. History and changes hiện các version trước.
  • Secrets thuộc về một environment, nên chỉ hiện khi Applies to là một environment hoặc một repo. Mỗi secret hiện “Not set” hoặc “Set, version N”, không bao giờ hiện giá trị. Chọn Set value, gõ giá trị rồi chọn Save value (hoặc Save new version để đổi về sau). Add a custom secret thêm một secret mà không manifest nào yêu cầu. Secret đồng thời được lưu thành variable thường được đánh dấu “Also set as a plain variable”: đặt secret, rồi xóa variable đó trong danh sách Variables.

Trên trang của một run, mục thu gọn Configuration used liệt kê tên các variable và secret (kèm version của secret) mà Station đã nhận cho run đó, không bao giờ hiện giá trị, để bạn biết config đã đến được Station hay chưa.

Key Tìm ở đâu Lưu giữ
Tên variable (ví dụ BASE_URL) Manifest, environment.required (các dòng trong bảng) Không bí mật. Member của project thấy được giá trị, và giá trị nằm lại trong history.
Tên secret (ví dụ APP_USER, APP_PASS) Manifest, environment.secrets (các dòng trong bảng) Tên không bí mật.
Giá trị secret Hệ thống được test (admin của hệ thống hoặc khách hàng) Bí mật, write-only, không bao giờ hiện lại. Lưu một bản backup offline (password manager) trước khi nhập.
Repo owner/repo GitHub Không bí mật
Workload id Manifest, id Không bí mật

Bên dưới Configuration, một dòng status cho biết mọi repo đã có đủ những gì nó cần trên environment của nó hay chưa. Khi xong, dòng này ghi Ready to run on . Nếu còn thiếu, dòng này nêu tên environment và các key còn thiếu, kèm Open the compatibility matrix. Sửa ở Configuration. Đây không phải là bước có đánh số, nhưng project chưa Ready cho đến khi phần này xong.

Trên Project settings, People (Open People của bước này), chọn Add person. Panel mở ra với ô Person liệt kê mọi account đang active chưa có trong project:

  • Người đã có account: bấm vào ô, gõ một phần tên, email hoặc chức danh, rồi chọn người đó trong danh sách.
  • Người mới: chọn Invite someone new instead, rồi nhập Email và Name (bắt buộc với người mới). Choose someone who already has an account đưa bạn quay lại danh sách.

Sau đó chọn Role và, với người mới, thời điểm Account expires (người bạn chọn từ danh sách giữ nguyên expiry của họ). Người đầu tiên bạn thêm với role QA Engineer sẽ tạo team <short-name>-team nếu team đó chưa có. Quy tắc đầy đủ, gồm giới hạn role và run access, có trong User và role.

  1. Mở Station trên một máy có access vào repo.
  2. Bắt đầu một run ad-hoc của workload trên environment của bạn.
  3. Quay lại Executions để xem kết quả.

Run đầu tiên không cần release hay cycle.

Phần Summary liệt kê những gì đã Set up và những gì còn Still open. Dòng “Everything required is set up” nghĩa là project đã sẵn sàng để chạy. Khách hàng, release và cycle là không bắt buộc và có thể thêm bất cứ lúc nào.

Project ở trạng thái Ready khi tất cả các điều sau đều xong: có ít nhất một environment, có một workload đã register, mọi variable và secret có tên trong manifest đều đã được đặt, không workload nào còn thiếu gì trên environment của nó, và có ít nhất một user đang active có role. Khách hàng, run đầu tiên và release không cần cho trạng thái “ready”.

  1. Mở Project settings. Dùng các phần của nó, hoặc Guide me trên Overview.
  2. Thêm environment (Project settings, Environments, Add environment), hoặc tạo ngay trong stepper Add a repository (ở bước Environment của nó).
  3. Tạo repo thứ hai cho environment đó, với manifest riêng (cùng team:, id riêng, ví dụ example-customer-qas). Chọn Add a repository (luôn có sẵn, kể cả khi project đã sẵn sàng), chọn environment mới, rồi Register repository.
  4. Điền các variable và secret mới cho environment đó: ở bước cuối của stepper, Configuration, hoặc về sau ở Project settings, Variables and secrets với Applies to đặt ở environment mới. Thêm environment sẽ mở lại Configuration và compatibility cho đến khi chúng xong.
  • Archive thay vì xóa. Archive một environment, workload hoặc project sẽ ẩn nó đi, dừng các run mới, và giữ toàn bộ lịch sử. Restore khôi phục lại. Delete chỉ dùng được khi không còn gì phụ thuộc vào nó.
  • Sửa được về sau: tên project, múi giờ, thời gian retention và khách hàng (Details trên Project settings, Overview, rồi Save details; System Admin); các field của environment trừ tên ngắn (Edit trên Project settings, Environments); các environment mà một workload được phép chạy (tích May run on trên Project settings, Workloads); variable (mỗi lần lưu là một version mới); secret (Replace hoặc Set value, một version mới); role và expiry của một user.
  • Không sửa được: id của workload và tên ngắn của environment. Archive rồi tạo lại.
  • Khách hàng bị chọn sai có thể đổi trong Details trên Overview, hoặc bằng Set customer trên dòng Project (System Admin).
  • “Verify your authenticator first”: chọn Verify now, nhập mã, rồi làm lại thao tác.
  • Nút Register repository bị mờ: đọc dòng chữ bên cạnh. Dòng đó nêu vấn đề đầu tiên đang chặn.
  • Bước check báo team không có role trên project: xem dòng Team trong bảng ở trên. Thêm user đầu tiên thường là cách khắc phục.
  • Run fail ngay với lỗi thiếu variable: mở Project settings, Overview và làm theo banner Next (Fill in configuration). Variables and secrets liệt kê các tên đang Missing (với secret: “Not set”). Đặt giá trị cho chúng rồi chạy lại.
  • Một secret bị gõ thành variable: dùng Move to Secrets trong bảng config, rồi đổi password tại nguồn. Giá trị cũ vẫn nằm trong history của variable.
  • Guide hiện một bước là “Blocked”: hoàn tất bước mà nó phụ thuộc vào (ví dụ, environment phải có trước workload).
  • Project settings chỉ hiện Environments, Workloads và Test accounts: các phần khác (Overview, Variables and secrets, Integrations, People, Data reset) dành cho Project Admin và System Admin. Một phần được mở bằng link sẽ báo “Only Project Admins open …” và cho biết bạn cần hỏi ai.