Windows 的 GitLab Runner 可以在 Windows 11 使用 process 隔離的 Docker 了

之前 Heresy 就在《GitLab CI + Windows Docker 的一些紀錄 Part 2》抱怨過,GitLab Runner 如果要使用 Docker 作為 executor 的話,由於 Windows Runner 的作業系統版本會受限於 GitLab Runner 使用的 helper image 的支援度,這也導致如果要建立使用 Docker executor 模式的 Windows 版 GitLab runner 變得很麻煩。

像是之前 GitLab Runner 15.10 的時候,想在 Windows 11 的電腦上用 Docker executor 模式來跑 runner 的話,基本上就只會得到下面的錯誤:

ERROR: Preparation failed: detecting base image: unsupported Windows Version: 
Microsoft Windows Version 22H2 (OS Build 22621.1485)

而前一陣子,GitLab 更新到了 15.11 了(官方介紹),GitLab Runner 也同時更新到 15.11.0(changelog),這才終於更新了 Windows 版的 helper image,讓 Windows 11 的電腦可以使用 Docker executor 模式!

閱讀更多»

廣告

GitLab 推出 CLI 工具以及新版 Web IDE:15.7 更新

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 在 Markdown 中提供可以過濾、排序的 JSON Table

前幾天,GitLab 更新到了 15.4 版(官方公告),而這次的更新在 Heresy 來看,加入了一項相當實用的功能,那就是 GitLab 的網站系統終於提供可以搜尋、排序的表格了!

一般在 Markdown 裡面要建立表格,基本上都是寫成下面的形式(應該也不是 Markdown 本身的標準就是了):

| header 1 | header 2 | header 3 |
| ---      | ---      | ---      |
| cell 1   | cell 2   | cell 3   |
| cell 4   | cell 5   | cell 6   |

在 GitLab 的網站上,他會顯示成下面的樣子:

閱讀更多»

GitLab CI + Windows Docker 的一些紀錄 Part 2

想不到有什麼簡短的標題,姑且就順著上次的《GitLab CI + Windows Docker 的一些紀錄》,把這篇當成 part 2 吧。

Heresy 這邊在 2019 年建立了工作環境的 GitLab server 後,也花了好一段時間把 GitLab CI/CD 的架構弄了一個雛型出來。中間有搞錯一些東西、也拿來玩了一些其它自己的東西

而老實說,在 Heresy 這邊碰到最多問題的,基本上應該還是 Windows Docker 上的問題了…

閱讀更多»

在自架 GitLab 使用 Kroki 來繪圖

自己架設的 GitLab Server 上,管理者其實有相當多的設定可以調整,也有相當多的外部服務可以整合來一起用。

其中一類,就是讓使用者可以在 Markdown 的文件(包含 wiki)中,使用特殊的語法來繪圖。

比如說,當單純用文字比較難說明的時候,就可以透過簡單的語法來描述,系統會自動把這些描述轉換成圖像,幫助其他人來了解。

GitLab 在這部分,提供了 PlantUML(官網) 和 Kroki!(官網) 這兩套服務可以整合,讓使用者可以自行設定要使用的服務網址。

像右圖就是一個用 PlantUML 的語法畫出來的圖;要畫這樣一張圖,他的語法如下:

閱讀更多»

GitLab 切換到 https 的紀錄

Heresy 之前自己架的 GitLab Server 的時候,由於是純對內的服務、沒有對外連線,所以要使用 GitLab 內建的 Let’s Encrypt(官網)來取得 SSL 憑證有點難度,所以當時就決定先用 http 來跑、而沒有用 https 了。

後來,手邊其實也有對應網域的 SSL 的憑證了,GitLab 的 SSL 設定也研究得差不多了(官方文件),所以就決定花點時間、把他從走 8080 port 的 http 轉換到標準的 443 port https 了。

而這篇,就是轉換的一些紀錄。

閱讀更多»

清除 GitLab 上所有 CI/CD 的 artifact

GitLab 的 CI/CD 功能在 Heresy 來看,算是相當便利的自動化功能,Heresy 現在不管是在工作,還是私人的東西,都有在透過這東西來做自動化的處理。

不過,前幾天…倒是發現自己之前的「刀劍神域記憶重組 公告變更記錄產生器」幹了件蠢事…

那就是 Heresy 沒有設定 artifact 的過期日,結果這些 artifact 都按照預設值,會保存四周。
而其結果,就是這個專案明明只有不到 400KB,卻佔用了 15GB 的空間…

閱讀更多»

GitLab 加入 Pipeline Editor 的功能

GitLab 基本上是一個有固定在更新的專案,每次更新也經常會出現一些實用的功能可以用。

像是在 12.2 的時候,引進了 「Directed Acyclic Graphs (DAG)」、13.7 的時候允許設定在手動執行 pipeline 的預輸入變數,個人都覺得算是滿實用的~

而這次 GitLab 更新到 13.8.0,則是加入了「pipeline editor」,讓使用者更容易地撰寫 GitLab CI/CD 的腳本了!

官方的更新公告是《GitLab 13.8 released with a Pipeline Editor and DORA metrics》。

閱讀更多»

GitLab 手動執行 pipeline 的預輸入變數

Heresy 這邊自從開始玩 GitLab CI/CD 後,發現其實它的應用範圍也還滿廣的,有的時候也可以拿來做一些額外的應用、服務的部屬;所以後來當 GitLab 更新的時候,都會注意一下有沒有什麼新功能可以玩。

而在去年底,GitLab 推出 13.7 的更新版的時候,是發現其中「Pre-filled variables when running pipelines manually」(連結)好像還算滿實用的?所以就稍微玩了一下。

這項功能官方之前也有一篇《How pre-filled CI/CD variables will make running pipelines easier》在介紹;相關的 issue 是《Generate Run Pipeline form with pre-filled variables from .gitlab-ci.yml》。

閱讀更多»