GitLab 發布 15.7 的更新了~這次的更新感覺有一些實用的功能,所以這邊稍微紀錄一下。
官方的公告是《GitLab 15.7 released introducing the GitLab CLI and with browser-based DAST GA》這篇文章,裡面內容也相當多,這邊就只撿個人覺得有趣/有用的東西拿來講了。
在 Heresy 自己來看,這次的更新帶來了兩個比較大的功能:GitLab CLI 和基於 Visual Studio Code 的 Web IDE(Beta)。
GitLab CLI
GitLab 本來就有提供 API 讓使用者可以自行串接,但是那主要還是針對藥開發程式的人才比較好用。
而現在,GitLab 則是推出了 CLI 的程式,讓使用者可以透過命令提示字元來操作 GitLab 的特定功能了!對於想要寫腳本自動化的人來說,這應該會是相當方便的!
官方的介紹是《Put `glab` at your fingertips with the GitLab CLI》,專案有放在 GitLab 上(Repo);文件則可以參考官網的《GitLab CLI》,但是感覺還是 repo 裡面寫的比較詳細。
目前看來,它除了可以複製專案外,還可以針對 issue、merge request、pipeline 作一定程度上的管理。
要使用的話,需要先到 GitLab 的網站上面建立 token,然後使用 glab auth login
這個指令先登入;如果要自動化的話,官方建議是用下面的指令來完成登入:
glab auth login --hostname mygilab.com --stdin < myaccesstoken.txt
不過他在送命令的時候,似乎會是以 GITLAB_URI
這個環境變數當作伺服器,預設會是 https://gitlab.com/,所以如果是自己架設的 GitLab 的話,似乎是需要先修改這個環境變數的值才行。
之後,就可以透過他的指令來做一些操作了~例如要看 Heresy/ci-test 這個專案的 issue 列表的話,可以用下面的指令:
glab issue list -R Heresy/ci-test
這邊也可以透過相關的指令,來控制 issue 的狀態。
要看 CI 的狀態的話,則是:
glab ci list -R Heresy/ci-test
也可以透過相關的指令,來執行 CI 的 pipeline。
個人目前是還沒想到要拿來幹嘛,但是感覺有必要的話,應該可以更方便地透過腳本來執行 GitLab 的操作。
Web IDE Beta
在 15.7 裡,GitLab 開始測試新版、基於 Visual Studio Code 的 Web IDE,官方的介紹是《A first look at the new GitLab Web IDE and remote development experience》,相關的說明可以參考官方文件(連結)。
這項功能目前在 https://gitlab.com 已經可以使用了,但是如果是自行架設的 GitLab 的話,預設是關閉的,需要透過設定「vscode_web_ide
」這個 feature flag 來手動開啟。
Feature flag 的設定方法可以參考《GitLab 的 feature flag 設定》,基本上就是進入 gitlab-rails console 後,執行「Feature.disable(:vscode_web_ide)
」這個指令就可以了。
新的編輯器介面長得像下面的樣子,基本上就是 VSCode 的外觀了~
所以如果本來就是在用 Visual Studio Code 開發的人來說,應該會更容易使用新版的 Web IDE 來做修改吧?(不過對使用 Visual Studio 的 Heresy 來說就有點無感了)
不過目前他應該是還不支援 extension,算是比較可惜的了。
其他當然也還不少改變,像是現在在 Markdown 語法中就可以透過 {width=100 height=100}
這類的形式來指定圖片顯示大小。
下面就是官方給的範例:
![alt text](img/markdown_logo.png "Title Text"){width=100 height=100px} ![alt text](img/markdown_logo.png "Title Text"){width=75%}
更詳細的說明可以參考官方文件。
此外,之前也介紹過的、在手動執行 pipeline 的時候可以設定預先輸入變數的功能也有做了一點改進,現在變成可以提供一個選單讓使用者去選、不用擔心被亂填了~ XD
下面是官方的範例:
variables: DEPLOY_ENVIRONMENT: value: "staging" options: - "production" - "staging" - "canary" description: "The deployment target. Set to 'staging' by default."
這樣一來,在手動執行 pipeline 的時候,「DEPLOY_ENVIRONMENT」就會變成以下拉選單的形式來呈現,而不是讓使用者自由輸入了!
詳細的說明可以參考官方文件。
Heresy 這邊基本上只是記錄自己覺得有趣的、或是覺得用得上的,更詳細的更新紀錄,就還請回去參考官方的介紹了~