Windows下的git伺服器搭建
時間一晃又是兩個月過去了,我好像在寫部落格這方面有點懶,= 。=
主要也是沒啥好寫的,項目上的事情又不能寫,能寫的東西實在太少。
前兩個月領導花巨資申請了一個伺服器,讓我搞git伺服器來管理程式碼,花了幾天時間伺服器搭建好了。但是這個部落格因為種種原因拖到了現在,其實之前在某個破舊的伺服器上搭建過Ubuntu下的git伺服器,但是領導不喜歡Linux作業系統讓我在Windows下搞,沒得法只能照辦。(後續應該會更新Ubuntu下搭建git伺服器的部落格吧) 花絮結束,接下來是正文。
*********************** 我是以Windows server 2016 為例 ***********************
1.下載Java
去官網隨便下一個。 //注意點: JDK 和JRE都要下, JRE後面有用到
2.給Java設置環境變數
右鍵電腦-屬性-高級系統設置-高級-環境變數
新建變數名 JAVA_HOME 值 C:\Program Files\Java\jdk1.8.0_65 (實際按照自己的真實路徑來)
新建變數名 CLASSPATH 值 .%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (我自己的前面有個點,有的部落格沒有點,具體要不要可以試試)
找到path變數 編輯 在結尾處添加 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
如果設置OK了可以打開命令行輸入javac試試,如果出現如下資訊則說明安裝成功。
3.下載gitblit
www.gitblit.com
4.稍微配置一下gitblit
下載完成之後解壓就可以了,免安裝軟體。如下圖
建立一個文件夾來儲存資料,比如 D:\Git\Git_file_save
找到Git/data目錄下的 gitblit.properties 並編輯
1. git.repositoriesFolder=D:\Git\Git_file_save (設置資料庫路徑,這裡以我的為例)
2. server.httpPort = 80 (上面提示的80或者8080)
3. server.httpBindInterface = 192.168.123.123 (填寫做伺服器的機子的IPV4地址)
4. server.httpsBindInterface = localhost
5.保存退出
回到gitblit目錄下,雙擊運行gitblit.cmd 如果成功截圖如下
打開瀏覽器輸出之前的IPV4地址即可訪問 192.168.123.123 (後面加不加:80都無所謂)如果是同一網段的其他機器訪問的話,伺服器記得關閉防火牆。不關也可以,防火牆出站入站裡面把port分好,之後每個項目的埠都不同,記得在出入站規則裡面加入。
PS:出入站規則在 Windows防火牆–高級設置–入站規則/出站規則–新建規則(類型選埠)裡面添加。
帳號密碼都是admin 此帳號為管理員帳號
這樣就算成功開啟了伺服器,並且可以正常訪問。缺點就是這個cmd窗口一旦關閉那麼伺服器就會關閉,每次伺服器開機需要手動打開這個cmd ,非常麻煩,所以建議添加至Windows service 裡面讓它開機自啟比較好
5.以Windows server 方式啟動gitblit
回到gitblit目錄下 編輯installService.cmd
注意裡面的三個地方 SET ARCH = x86 (有的說64位的是amd64,32位系統的就x86,又有的說amd64兼容性不好,反正我最後是64位的處理器64位的系統用的x86)
SET CD =D:\Git\Git_file_save (資料庫路徑,這裡以我的為例)
StartParams參數給空,保持然後管理員身份運行該批處理文件。然後打開Windows服務可以看到一個叫gitblit的服務,如圖
但是是未啟用的狀態,點擊啟用的話有可能會報錯。(我就是卡在這裡卡了好久)
首先管理員身份運行軟體根目錄下的gitblitw.exe
如下圖 Service status 會顯示當前伺服器狀態,點擊start看看能否成功啟動,如果不能成功啟動則需要檢查一下菜單欄裡面Java裡面的第一個文件路徑,我當時沒有裝JRE,用的是JDK裡面的jvm.dll 結果死活啟動不了,搞了很久 換個JRE的jvm.dll就好了。這裡應該是需要搞成合適的jvm.dll才能啟動服務,給大家踩了個坑,,直接把JRE JDK都裝了就啥事沒有一路順暢。
至此,一旦service status 狀態是 stared 。說明服務已經搞好,從此伺服器只要不關機,後台就會一直保持這個gitblit服務是啟動的。重啟開機什麼的也會自動啟用這個服務,十分人性化。
git 伺服器的搭建就是這些,容易被坑的地方我也全部指出來了。下一個部落格會就我個人水平來簡要分享一下git怎麼使用,不過更新得隨緣了
o(* ̄▽ ̄*)ブ