Gitlab使用第三篇(API與Tags)

前面咱們已經講述過Gitlab的部署以及安全相關設置,這一篇將講述調用Gitlab提供的API來建立項目(project),這樣對咱們在運維自動化過程當中很是有用。html

從Gitlab官方文檔(https://docs.gitlab.com/ee/development/documentation/styleguide.html#curl-commands),咱們能夠獲取到如何使用API。git

調用API的第一步是生成Access Token。此處以firefly@demo.com用戶爲例。api

一、進入到用戶設置(User Settings)安全

二、選擇"Access Tokens",來增長我的訪問令牌,以下圖1所示。運維

三、在Name輸入一個名字,如「firefly",在過時時間中設置一個日期,若按默認不設置,則爲永不過時。curl

四、容許經過token訪問具備哪些僅限。ide

5e4e823e9999470aabd8d623737e0322

圖1gitlab

最後點擊」Create personal access token"來生成Access Token,如圖2所示,token爲「ybxsZqyaSeG-wZWhL1-R」測試

f707a38d34304c23be2d866f79b488a7

圖2ui

調用API的第二步,編寫代碼或腳原本調用,此處以curl方式來測試。

一、經過token來查看組的詳細信息

curl -H "PRIVATE-TOKEN:ybxsZqyaSeG-wZWhL1-R" http://gitlab.demo.com/api/v4/groups/oa_group
執行上述命令返回信息如圖3所示,從中咱們能夠獲得oa_group組的id爲7,oa_group組下有哪些project等等。

圖3

二、經過token來建立倉庫,默認不指定組時會建立在當前用戶下。


例如,執行上述命令後,咱們能夠看到名爲firefly的項目是在firefly用戶下,如圖4所示。

409655b7e5f34232be7b4f1829640e2b

圖4

二、經過token在指定的組下建立項目,Gitlab的API是經過指定組的ID(namespace_id)來肯定組名的。

curl --request POST -H "PRIVATE-TOKEN:ybxsZqyaSeG-wZWhL1-R" --data "name=deploy_test01&namespace_id=7" http://gitlab.demo.com/api/v4/projects
或者
curl --request POST -H "PRIVATE-TOKEN:ybxsZqyaSeG-wZWhL1-R" http://gitlab.demo.com/api/v4/projects?name=deploy_test02&namespace_id=7
執行上述2條命令後,將在OA_GROUP組下建立2個倉庫,如圖5所示。

圖5

具體更多的操做,可參考Gitlab官方文檔。

----------------------------------------------------------------------------------------------------------------------------------------------

接下來咱們要來講Gitlab的標籤(tags)建立,目前咱們對tags的用途主要是用來作爲發佈版本號,可用於發佈版本以及回滾版本。如圖6所示,爲OA_GROUP組下的tc_service手動建立了標籤v_20191209_1821

34f20545d2d94f29ab06b1678fa097e2

圖6

因爲該tag是手動輸入的,頗有可能輸錯或者位數不對,致使版本發佈異常,因此要規範tags,不能隨意命名,而是要按必定規則,好比按,即按時間命名,精確到分鐘便可。再好的約束由人來執行也不免出錯,因此咱們要修改Gitlab的源碼,讓其自動生成咱們所需格式的tag,並強制用戶添加版本功能描述信息才能建立。最終效果如圖7所示。

bae04feaae8b4e5c8333d95f07af5435

圖7

咱們看到,「Tag name」輸入框自動生成了tag,而且是灰色不可修改,另外,若開發人員在「Message」對話框中若不輸入描述性文字,則下方的"Create tag"按鈕爲灰色不可建立。這樣就達到了咱們規範目的,是否是比較完美,哈哈。


下一篇將繼續講述Gitlab使用第四篇(平常維護)

相關文章
相關標籤/搜索