2011-10-19 64 views
6

我的團隊使用TeamCity進行持續集成。它將通過Web Deploy構建,測試和部署Web應用程序,以開發和編制Web服務器。棘手的部分是部署到生產Web服務器 - 我們的政策規定開發人員無法部署到生產環境,只有系統管理員才能部署。如何通過Web Deploy服務保護TeamCity部署?

我們目前的方法是讓TeamCity構建一個Web部署包,管理員可以下載並安裝在生產Web服務器上。不過,我們希望允許他們只需點擊構建配置上的「運行」,但我們不確定如何確保該按鈕的安全。

我們可以創建一個只有管理員才能訪問的TeamCity項目,但我們也必須解決Web部署安全問題。 Web部署服務需要使用生產服務器上的本地管理員帳戶進行身份驗證。我們不希望開發人員在構建腳本中訪問用戶名/密碼,也不希望每個構建代理都以此帳戶運行,因爲開發人員可以創建一個構建,以便將其部署到生產環境。

我在TeamCity安全/部署最佳實踐中找不到太多運氣,但我無法想象我們是這種情況下唯一的公司。其他人如何管理自動部署安全性?

+2

有更好的運氣在serverfault - http://serverfault.com/questions/323047/how-to-secure-teamcity-deployment-via-web-deploy-service – jrummell

+0

你可以從這裏關閉這個問題。 – Arpit

回答

1

首先在實時服務器上進行自動部署不是一個好主意。部署應該自動化,直到分期。如果你仍然想這樣做,那麼簡而安全的方法就是使用Ant腳本。編寫一個簡短的腳本來使用SSH或sftp,並完成部署。您可以爲您的項目創建兩個配置文件,並在管理員的Pro部署的「構建步驟」中添加額外的步驟。