1、svn 自動部署到web伺服器設置問題
修改伺服器上的鉤子程序post-commit,將指定要發布的內容的文件夾導出(export)到tomcat目錄下就行了
鉤子程序post-commit是在執行commit操作後自動執行的,這樣每次commit後都自動執行一次導出操作,保持tomcat文件夾內容就是所要發布的內容
---------------------------------------------------------------------------
補充:
例如你版本庫的svn訪問地址是http://10.30.11.12:8080/svn/project1,你想把這個版本庫下的/trunk/web文件夾發布到tomcat上,發布到tomcat的文件夾地址是d:/tomcat/opt/web,svn的管理員用戶名是abc,密碼是12345,那麼這個鉤子程序應該就是:
svn export http://10.30.11.12:8080/svn/project1/trunk/web d:/tomcat/opt/web --force --username abc --password 12345 --no-auth-cache
(本人對linux不熟悉,這行指令如有與linux語法不一致的地方,請參考原理自行修改)
說明:
1、--force 是說強制覆蓋d:/tomcat/opt/web這個文件夾,避免這個文件夾不為空時報錯
2、--username abc --password 12345 是自動將用戶名和密碼作為參數傳送進去
3、--no-auth-cache 是說不緩存用戶名和密碼,這是出於安全考慮
4、svn export 是將所指定的url的內容導出到所指定的文件夾去。這里之所以不用update而用export,是因為update會導致生成一個隱藏.svn文件夾,這個文件夾是我們不需要的
當然了,如果整個發布的內容很多的話,建議還是用update,而不用export,因為update只更新有變化的部分,而export將重新導出所有內容,網路消耗比update大。
2、文件修改後用tortoisesvn提交,在svn版本庫瀏覽器里能看到修改,在我的web伺服器上還是原來的
一般不太會出現這樣的問題,你查看web伺服器的具體操作是什麼?
是用IE瀏覽器專訪問嗎?如果是用屬瀏覽器訪問的話,試試看清除一下本地瀏覽器的緩存信息,然後看看是否正常。
還有就是你查看的web伺服器和SVN庫是什麼關系,如果SVN和Apache集成後直接用http/https協議訪問SVN庫中的內容,那不會出現這樣的現象,如果是在SVN庫和web伺服器中間又通過某種方式(比如svnsync同步、post-commit鉤子)做了一層轉接,那問題可能就出在轉接這里。
3、我用WEB界面可以訪問SVN伺服器,但是顯示是證書有問題,但是用客戶端就完全訪問不了,是什麼問題
您好,web伺服器端用HTTPS的話就必須向客戶端提供一個能證明他有效身份的伺服器證書,而客戶端不一定非得提供證書。
當然像你所說的情況也就是:伺服器要求客戶端提供證書進行客戶端身份驗證,那麼你就必須去向CA申請了,該只要能證明你的合法身份就行。
ps。如果你是自己搭著玩的話,那麼你就可以用自己的CA分別頒發伺服器證書和客戶端證書,然後分別安裝在對應的系統上。
另外我懷疑,你的問題是否提錯了?
情況是否是客戶端無法驗證伺服器端的合法身份,而導致瀏覽器禁止打開該伺服器連接?
如果是這種情況的話,那麼你就只需要在瀏覽器訪問該伺服器時,點擊地址欄邊上的安全標志就能安裝伺服器證書的上級CA的公鑰證書在自己的電腦上,這樣你的電腦就能識別該伺服器的合法身份了。
4、myeclipse 從svn下載下來的web項目不能發布到本地伺服器上(tomcat7),不現實web小地球
新建Web項目,將MyEclipse控制台中的Servers滑鼠右鍵,單擊「Add Deployment...」
將Web項目選中添加到Project中,然後單擊「Finish」,:
這時,Web項目添加到Tomcat中,單擊運行按鈕即可
方法二:利用Tomcat中的配置文件部署項目
新建Web項目後,在控制台處找到Tomcat,滑鼠右鍵,選擇「Configure Server Connector」
然後,依次操作「MyEclipse--->Servers--->Tomcat--->Tomcat 7.x」
(1)Enable
(2)Tomcat home directory:D:\MyEclipse\apache-tomcat-7.0.32
(3)Tomcat base directory:D:\MyEclipse\apache-tomcat-7.0.32
(4)Tomcat temp directory:D:\MyEclipse\apache-tomcat-7.0.32\temp
(5)Optional program argument:D:\MyEclipse\apache-tomcat-7.0.32\conf\server.xml
以上設置好了後,依次單擊「Apply--->OK」
點開菜單欄中的「File」,單擊「Open File...」,將「D:\MyEclipse\apache-tomcat-7.0.32\conf\server.xml」復制到文件名下拉框中,單擊「打開」
在server.xml中的「
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
」
下方添加一句
「
<Context path="/FusionCharts" docBase="D:\MyEclipse\workspaces\FusionCharts\WebRoot" debug="0" reloadable="true">
</Context>
」
然後保存,單擊運行按鈕就可以運行項目
5、為什麼從SVN上檢出來的項目不能發布到Tomcat伺服器上面
方法錯誤,解決辦法如下:
方法一:
依次點擊myEclipse --》File--》new--》other--》svn--》填寫svn地址--》選擇內檢出內容--》webProject--》 工程名容--》Finished--》tomcat部署
方法二:
發現上面到webProject的時候沒有選擇功能了,可以在項目上右鍵-->Properties-->MyEclipse -->Web 修改Web Context-root 改為 /licai1就ok了 這個是網頁訪問時的路徑
6、用MyEclipse SVN導入伺服器Web工程,但是導入的卻不是web項目,請問怎麼解決!急求,解決追加分!
通常是項目的.project文件的抄問題,需要做本襲地的修改,可以手動改或向上面說的新建web項目再倒入,只是要注意提交的時候千萬不要把 .project .classpath之類的項目文件提交上去就行了
7、我在學javaweb 做了個項目 從SVN上剛檢出的項目為什麼到我電腦上 JSP頁面不顯示
最好上個圖看看
8、如果伺服器上面有多個web目錄 可以用svn鉤子同時實現嗎
如果是發版的話,不建議直接svn更新發版,有安全隱患。
如果是多版本控制的話,可以在主項目中專建不同的屬子文件夾放不同的svn項目(A,B,C),每個svn控制不同的子文件夾(svnA對A,svnB對B,svnC對C),不要覆蓋。
svn的windows客戶端有很強大的導出功能,導出後不改變文件目錄結構,可以導出到特定的地方,再用腳本發版。
9、svn 伺服器 和 web伺服器問題?
svn問目錄結構,整個使用web伺服器發布而已了。。。。和鉤子程序沒有半毛錢關系
10、小公司伺服器選用windows哪個版本最好? 主要是內部的web服務、郵件服務、svn版本服務
Server 2003
Server 2008
這2個都可以的,只不過是後者的基本配置要求要高一些的,前者的要求相對來說低一些的,如果伺服器配置不高的話,前者最佳;反之,後者更好!反正各有千秋的!