瀏覽 1.1.1 文件
1.1.1

遠端基礎設施

部署明確的 ait-server 與 ait-runner 邊界,用於遠端權威、異地恢復和儲存庫自有的 CI。

適用對象: 維運

需要了再開遠端權威#

常規的本地工作流程不需要服務端。遠端基礎設施帶來的是三項相互獨立的 能力,前提是它們真能解決具體問題:

  • 透過共享、持久的工作流程權威做遠端管理;
  • 把已記錄的 Snapshot 和 Line 狀態異地儲存下來,用於恢復;以及
  • 透過帶型別的 Worker Job 執行儲存庫自己的 CI。

它同時也把認證、TLS、網路暴露面、資料根備份、升級和相容性這些責任 壓到維運身上。完整的資料流、保護邊界和恢復步驟,讀 `ait-server`:遠端權威與恢復

元件邊界#

  • ait-server 擁有儲存庫登錄檔、共享的工作流程狀態、策略、證據和 Worker Job 佇列。
  • ait-runner 認領相容的帶型別 job,物化出確切的 Snapshot 內容, 執行儲存庫宣告的 CI 入口,傳回有界的結果。

runner 不會變成儲存庫權威,也不會替你挑某種語言專屬的建置系統。

在本地試用 1.1.1 服務端#

除非已經有一條經過評審的安全入口,否則把評估用的容器綁到 loopback。

程式碼 · bash
docker network create ait-native
docker volume create ait-native-data
docker run --detach \
  --name ait-server \
  --network ait-native \
  --publish 127.0.0.1:8088:8088 \
  --restart unless-stopped \
  --volume ait-native-data:/var/lib/ait \
  ghcr.io/weita2026/ait-server:1.1.1

curl --fail http://127.0.0.1:8088/healthz

公開的容器索引覆蓋 Linux amd64arm64

註冊並設定儲存庫#

本地儲存庫還沒有數字 Repository 權威時,remote add 會註冊一個,然後 把這個 remote 存下來。如果已經配了儲存庫索引,它就去核驗那個確切的 權威,而不是再分配一個。

程式碼 · bash
ait remote add origin <server-url> --default
ait remote list --json
ait config show --json
ait repo show --remote origin --json

別把別的儲存庫的索引抄過來。這個索引是遠端權威路由的一部分。光註冊 不會傳任何 Snapshot;要做出一份可恢復的異地副本,得走設定好的遠端 工作流程,或者明確執行一次 ait push

Runner 契約#

runner 接收某個已註冊儲存庫的版本相容 job,執行它確切的 ci/run.shci/run.ps1 入口。原始碼根目錄、嘗試目錄、worker 身份和儲存庫索引 都是維運自己選的值。

嘗試用的儲存要隔開,投遞失敗要盯著,終態結果之後還得確認嘗試目錄 自己那份資料已經清乾淨。

專門的 `ait-runner`:原生 CI 執行面 一章,展開講了 1.1.1 的確切命令、Worker Job 生命週期、帶型別的契約、 物化上限、租約、證據、部署和排查。

就緒與收尾#

遠端工作會發布一個選定的 Patchset,並在 Task 最終收尾之前記錄下 CI、attestation、評審和策略這幾類完成的證據。

程式碼 · bash
ait workflow ready <change-id> --apply
ait workflow finish <change-id> --apply

某道關卡還沒過時,就緒與 finish 命令會報出確切的下一步動作。選定的遠端 Patchset 已經就緒時,也可以走設定好的 Task 級入口 ait task finish <task-or-change-id>

恢復這件事是明確的#

ait-server 只能作為送達過它的那部分狀態的恢復源。髒檔案、未跟蹤 檔案以及其他沒被記錄下來的工作區檔案,都在這條邊界之外;而且一臺 服務端並不提供自動故障切換。把確切的 Repository 索引留在恢復清單 裡,單獨保護好服務端資料根,並按 `ait-server` 那一章裡帶版本的 恢復流程演練一遍。

版本權威

對照 1.1.1 原始碼逐條核對

這一頁是公開文件,不是第二份產品契約。要確認發布權威,請以確切的原始碼和分發契約為準。

所屬元件 Snapshot
  • ait-coreSNP-ED7593DBF982
  • ait-serverSNP-0CCD7DD2A077
  • ait-runnerSNP-35C9C133D2EE
  • ait-pythonSNP-756C731A4CC0
  • ait-nodeSNP-55E90D0A81F1