2011-03-25 20 views
16

我在TeamCity中構建了一個將代碼部署到活動服務器的代碼。作爲預防措施,我想禁用那個按鈕「運行」可以錯誤地點擊。所以我想有一個額外的檢查水平「是否我確定」我想單擊「運行」按鈕。是否有可能完成? 在此先感謝!如何鎖定TeamCity中的「運行」按鈕

回答

0

我不認爲有運行的禁用按鈕。您可以暫停構建並在想要部署到現場服務器時運行它。

0

不是我所知道的。如果你有企業,你可以設置它,以便有一個特殊的帳戶有權執行該構建。另一個解決方法是使構建在具有受限權限的SCM回購庫中查看特定分支。通常,合併到分支需要一點努力,因此不像偶然碰到運行那麼容易。還可以確保碰到跑步的人不一定會從後備箱或某些地方抓取最新的不穩定拷貝。

15

我不認爲有一種方法來禁用運行按鈕。

我使用的一種方法是將一個屬性傳遞給構建腳本,該腳本需要爲腳本運行時爲true,否則爲false或未設置,則構建腳本會引發錯誤。然後在Properties &環境變量頁面上的構建配置中,我將該屬性設置爲false。現在,無論何時我需要運行該腳本,我都必須使用「運行自定義生成」按鈕(運行按鈕旁邊的「| ...」位),然後在按下生成按鈕之前將該值設置爲true。

4

您不能禁用運行按鈕,但可以設置權限,以便人們仍然能夠查看項目而無法運行它(特別是運行構建角色)。

就確認而言,TeamCity沒有任何內容可以實現這一點,但我相信可以編寫一個小插件來獲得此類功能。

插件的信息:

http://confluence.jetbrains.net/display/TCD6/Developing+TeamCity+Plugins

5

另外,更容易的選擇,是一個代理需求添加到您的構建,使得僅在生產服務器的代理能夠滿足它(例如env.COMPUTERNAME等於MyProductionServer01),和然後用關於「鎖定」生產構建的註釋禁用該代理。如果不小心點擊運行按鈕,這將阻止構建實際運行。

3

事實上,沒有任何隱藏運行按鈕的能力,除非生成配置放置在不同的項目,用戶沒有權限運行建立在。

有一個在TeamCity的問題跟蹤相關feature request

至於請求確認,仍然沒有direct support,但是由於TeamCity 7.0可能會添加一個帶有「提示」模式的參數,這將導致運行自定義生成對話框在運行按鈕單擊時彈出。

1

我們通過爲用戶提供雙重登錄來解決此問題。普通用戶沒有權限運行危險的項目,但是如果以高級用戶身份登錄,他們也可以訪問這些項目的運行按鈕。

所以在正常情況下不會有意外運行的風險。

+1

這裏的第二個好處是,我們也有可能只允許高級用戶運行這些關鍵項目。 – 2013-08-16 14:01:23