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》。

閱讀更多»

GitLab 開啟 LFS 與 hashed storage

這篇算是 Heresy 這邊透過 Docker 來架設 GitLab server 的一些後續,真要說的話,應該是之前《GitLab 升級到 13 的筆記》的延伸。

GitLab 在 13.0 的時候,把「Design Management」(官方文件)開放給免費的使用者使用了。這項功能的目的,主要應該就是讓使用者可以在 issue 中上傳圖檔,方便討論。

不過,對 Heresy 這種是從 GitLab 11 升級上來的人來說,這項功能預設是不能用的。而且還會在 issue 那邊顯示警告,看起來滿煩的。 XD

閱讀更多»

GitLab 升級到 13 的筆記

Heresy 這邊在去年架設好自己的 GitLab 後,都有固定在更新,同時也在試著研究之前沒用上的功能、看看到底有沒有幫助(例如 Gitlab CI/CD)。

由於自己採用的是 Docker 的形式(Omnibus GitLab),所以其實不管是安裝、升級,都算是相對簡單的;但是在升級到前幾天推出的 GitLab 13 的時候,倒是小出包了一下…

GitLab 13 的新功能,可以參考官方的《GitLab 13.0 released with Gitaly Clusters, Epic Hierarchy on Roadmaps, and Auto Deploy to ECS》這篇介紹。

而這邊踩到的地雷,則是他把預設的網頁伺服器,從 Unicorn 改成 Puma 了。

閱讀更多»

刀劍神域記憶重組 公告變更記錄產生器

之前有說過了,Heresy 為了自己在玩的手機遊戲《刀劍神域-記憶重組》另外弄了一個部落格來做紀錄(網址)。

而實際上,之前由於覺得遊戲內的公告由於不是照著更新時間排序、要找到哪個公告是新的實在很麻煩,所以就火大,自己試著想辦法去做公告的變更紀錄了。

搞了老半天,弄出了一個使用了兩個 Git repository 的奇怪架構系統,算是勉強做到堪用的程度了~

目前的成品是:https://kheresy.github.io/SAOMD-AA/changelog.html
而實際在運作的專案則是 https://gitlab.com/kheresy/saomd-announcement

閱讀更多»