2012-10-25 33 views
0

我有一小組開發人員,我們都在自己的機器上開發。當我們有可用於測試的代碼時,我們將合併並推送到RhodeCode安裝。我中心RhodeCode回購的hgrc文件被設置爲這樣的:從web界面推送到已配置的hg存儲庫

[paths] 
test_env = /www/mysite/test 
prod_env = /www/mysite/prod 
[hooks] 
changegroup = hg push test_env 

所以當一個人檢查代碼到RhodeCode,該更改會自動推到測試環境。 (在測試repo hgrc文件中有一個hg更新,所以代碼在那裏更新)。太棒了。

但是..我希望我們的RhodeCode管理員能夠推動prod而不需要在服務器上訪問shell。有沒有辦法讓某人從RhodeCode接口運行「hg push prod_env」?由於RhodeCode對hg有完全的控制,所以應該可以,但是這種能力是否存在於RhodeCode的某處?添加它會是一項艱鉅的任務嗎?

如果沒有,您將如何去允許經過身份驗證的用戶在沒有shell訪問權限的情況下將存儲庫推送到生產環境?我一直在使用谷歌搜索,但我似乎無法找到任何東西。我知道我可以寫一個PHP腳本以中繼(「汞推test_env),但是這似乎是一個權限夢魘運行Apache‘人’和rhodecode擁有回購。

思考?

+0

你會有更好的運氣直接發佈在項目的問題跟蹤器的所有者:https://bitbucket.org/marcinkuzminski/rhodecode/issues?status=new&status=open – Blaskovicz

+0

我已經這樣做,沒有得到一個迴應..因此來到這裏。他們此後告訴我,正在添加腳本控制。 – whiteatom

+0

你也可以嘗試去freenode的#rhodecode irc;我在那裏運氣不錯。 – Blaskovicz

回答

0

對於那些正在這個問題,這裏是我如何解決它:

在PHP中寫了一個密碼頁面,並帶有一個執行此操作的按鈕代碼:

shell_exec('hg pull -R ../wp-content/themes/2014'); 

我然後把汞更新爲督促網站hgrc文件,並提出了網絡用戶和存儲庫的授權用戶。

它工作的很好 - 我有輕微的安全問題,因爲產生的文件所有權,但假設PHP遵循適當的做法,沒有任何問題。

1

顯然,你不能無所謂,但是你可以嘗試在prod_env上添加或者編輯一些來自RhodeCode接口的文件(這可以做到這一點),這應該會導致本地提交和推送而不訪問一個shell

相關問題