Slctl is a command line interface for running commands against SoftLeader services.
所有執行檔都會發佈並保留在 Releases page, 選擇版本及對應 OS 的執行檔, 下載後將其解壓縮並加入 PATH 中即可使用
除了直接下載外, Slctl 支援了並優先推薦使用以下幾種套件管理程式來安裝:
-
Homebrew 是在 Mac 上很受歡迎的套件管理系統, 推薦 MacOS 使用者使用:
$ brew install softleader/tap/slctl
Linux 使用者建議使用 Linuxbrew - Homebrew 的 Linux 分支
-
Chocolatey 是 Windows 上常見的的套件管理程式, 也被許多 CI 整合 (e.g. Travis CI), 推薦 Windows 使用者使用:
$ choco install slctl -s http://choco-repo.cloud.softleader.com.tw/repository/choco/
你可以參考 Compiling Source 章節, 從原始碼編譯後使用, Happy Hacking 🐱💻
透過套件管理程式安裝的, 可以使用以下命令來更新:
- Homebrew -
brew upgrade slctl
- Chocolatey -
choco upgrade slctl -s http://choco-repo.cloud.softleader.com.tw/repository/choco/
bash 或是 zsh 的使用者可以參考 Completion Script 章節設定自動補齊指令, 讓你每次輸入指令時按下 tab 就可以獲得提示
執行 slctl init
透過互動式的問答產生並儲存 GitHub Personal Access Token, 也可以傳入 --username
, --password
及 --yes
來整合非互動式的情境 (e.g. DevOps pipeline):
$ slctl init
$ slctl init -u GITHUB_USERNAME -p GITHUB_PASSWORD -y
使用 --force
在發現有重複的 Token 時, 會強制刪除並產生一個全新的 Access Token
$ slctl init -f
若你想自己維護 Access Token (請務必確保有足夠的權限), 可以使用 --token
讓 slctl 驗證後直接儲存起來, 執行 scopes
可以列出所有 slctl 需要的 Access Token 權限
$ slctl init --token GITHUB_TOKEN
$ slctl init scopes
使用 --offline
則 slctl 不會跟 GitHub API 有任何互動, 只會配置 $SL_HOME 環境目錄.
同時使用 --offline
及 --token
可跳過 Token 驗證直接儲存起來 (e.g. 沒網路環境下)
Slctl 有完整的 Plugin 系統, 你可以從收尋松凌官方 Plugin 開始:
$ slctl plugin search FILTER...
使用空白分隔傳入多個 FILTER, 會以 Or 且模糊條件來過濾 SOURCE; 反之列出全部
$ slctl plugin search
$ slctl plugin search whereis contacts
傳入 --installed
只列出已安裝的 Plugin
$ slctl plugin search -i
查詢的結果將會被 cache 並留存一天, 傳入 --force
可以強制更新 cache
$ slctl plugin search -f
執行 $ slctl plugin install SOURCE
即可安裝
除了 GitHub Repo Source 外, Slctl 還支援了許多的 SOURCE 來源, 點擊 Installing a Plugin 查看更多的 SOURCE 說明
Slctl 支援 GitHub Repo 的 Plugin 自動更新, 請參考 Upgrading Plugins
Slctl 支援任何語言的 Plugin, 請參考 Plugins Guide