logo头像

Edward.K Thinking

善用VSTS的Library功能管理參數

當我們大部份的專案是都透過VSTS來進行佈署時候,會發現有很多專案的Config參數都是相同,甚至在VSTS內的CD設定佈署路徑,有可能80%是一樣,當這些設定值要被修改,就必須要到每個Definitions重新檢視或是重新設定一次,或是,在眾多Definitions的CI/CD中會用到的Powershell程式寫法一樣,若是,需要擴增這些指令,還必須確保每個Definitions中的PowerShell指令是否有修改完成,這樣非常不方便。再者,像是DB Connection參數是具有安全性,不適合直接寫在Task中…

基於上面一些理由,就可以透過VSTS的Library來做管理,目前可以在Release的Definitions引入Library設定的變數群組,Build的Deginition目前還無法使用變數群組功能

另外,變數群組是依附Project,無法跨Project共用

設定Library


進入Library後,就可以替每個參數設定想要的群組,另外,在安全性部分,可以設定甚麼人可以進來編輯群組資訊

在主要Library上的安全性,是控管可以進入使用Libray的成員。

然後,使用新增群組,就可以增加變數群組,可以把相關屬性的變數歸納一起,設定變數方式很簡單,就只是Key & Value方式

這時候,我們可以看見,設定安全性的地方,在這邊可以針對這個群組去設定使用人員的角色,做進一步群組安全性的管控

  • Reader : 只能看到Item,但不能使用裡面的參數
  • User : 可以使用參數,但是不能管理Item
  • Administrator : 可以管理Item

使用Libray變數群組


設定完變數群組後,再來就是到Release Definitions中去引用它。

選擇Variable Group,就可以搜尋在Libray類設定群組。只要把想要納入的變數組加入,就可以看到群組相關設定變數的值

在變數的value中,是以字串形式呈現,可以讓你設定任何資訊。只要把Variable Group引入到這個Definitions中,在任何的Task就可以使用它。使用變數語法是$(變數名稱)

藉由這方式進行管理,就會非常方便,當之後有變數要變動時候,就可以集中修改,不忘記有那些沒有變更到

上一篇