這裡應領導的要求,在伺服器上裝了upsource
Upsource的安裝和與JetBrains工具的整合
JetBrains的工具一直都是我開發和學習的好幫手,本人工作主要是iOS開發,使用的是AppCode,而這裡主要介紹下JetBrains的程式碼審查工具Upsource,它把程式碼審查做成了類似社交工具的效果,可以在不修改程式碼的情況下對程式碼進行註釋和評論,然後再讓相關人員去進行修復,而且有很多人性化的小功能。這裡首先說下其安裝和整合步驟。
這裡IDE我用的是AppCode,版本控制則是SVN。
注意:這裡僅按照mac系統來寫的,windows系統最好參考下官網的具體說明,但是基本上大同小異。
一、下載和安裝
首先去官網下載最新版本的Upsource,點選跳轉到下載地址,這裡我使用的是蘋果的mac系統,但是目測windows下載下來解壓後和mac都類似。目錄如下:
這個解壓後的資料夾其實已經可以當做軟體包了,裡面包括了它的各種依賴等等,Upsource是基於Java寫的,已經內建了java7,也可以自定義引入java8,官網說明有詳細的命令列教程,但是目測會有點小問題,不太建議重新引入,畢竟你不用去修改人家原始碼。
bin目錄下即是Upsource的命令列工具,我這裡是mac系統,使用.sh
結尾的檔案upsource.sh
即可,使用之前,最好是在root許可權下進行,如下:
sudo -i
之後輸入密碼即可。windows系統則使用upsource.bat
隨後執行命令列工具,直接把upsource.sh
檔案拖入命令列工具後空格輸入start
:如下
JeffreydeMacBook-Pro:~ jeffrey$ /Users/jeffrey/Soft/upsource-2017.1.1821/bin/upsource.sh start
上面的/Users/jeffrey/Soft/upsource-2017.1.1821
為我Upsource資料夾本地路徑,對應換成自己的即可,如果是拖到命令列去的,則路徑已經是對應自己的Upsource資料夾的路徑了。
start命令執行後,等待系統安裝完即可。最後命令列結果如下:
二、設定
1.URL設定
這裡我們可以直接啟動,要是我們的8080埠沒有唄佔用,upsource 的埠就會是8080,但是要是8080埠被佔用了的話,他會自動的往後排,8081,8082......
啟動的時候會再終端打印出來你的埠到底是哪一個
這裡我想使用域名的形式去啟動,所以這裡我們就得去進行相關的配置
這裡我參考的文章是:https://www.jetbrains.com/help/upsource/proxy-configuration.html?search=prox
因為這裡我的系統是centos的。文章中說的
<upsource_home>\bin\upsource.bat
在我的環境下就是
<upsource_home>\bin\upsource.sh
<upsource_home>\bin\upsource.sh configure --listen-port 8181 --base-url http://upsource.mydomain.com
這裡的listen-port 就是upsource的埠
後面是訪問的URL
這個執行完成之後我們要去啟動一下
<upsource_home>\bin\upsource.sh
start
然後我們去配置一下nginx
server {
listen ;
server_nameupsource.mydomain.com
;
location / {
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1; # to proxy WebSockets in nginx
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8181;
proxy_pass_header Sec-Websocket-Extensions;
}
}
start執行完畢後會開啟預設設定的xxx-pro.local:8080這個地址,xxx-pro.local為你伺服器地址,需要配置,配置這塊目前還沒過多的檢視,這裡只做簡要安裝整合介紹,這裡只需要知道是其實是把Upsource部署在了localhost:8080即可。因為xxx-pro.local是沒有配置的,所以預設開啟的地址肯定是無效的,不管它,直接手動輸入localhost:8080或者把localhost改成你的ip地址(埠號別忘了寫)。這樣你會看到Upsource的正式頁面了,如下:
點選Set up進行設定,進入如下頁面:
把預設的Base URL修改掉,因為那個地址是無效的,如果需要有效需要自己去配置。
Application Listen Port埠號可以自己修改成自己想設定的,這裡使用預設的8080沒有修改。之後點選下一步,進行賬戶設定。
2.賬戶設定
點選後介面如下:
管理員賬戶使用者名稱修改成自己想要的,然後輸入密碼並重復密碼即可。
3.許可
預設的是免費的許可,只能10個人使用,可以點選申請60天的10000人的許可。目前我這邊只是前端iOS開發,就2個人,會審查下自己和同事的程式碼,所以暫時免費的已經夠用了。如果比較大型的公司或者團隊,可能需要使用收費的。這裡直接點選Finish完成。
4.等待安裝完成
這個可能會花費一點時間,但是如果你之前在設定Base URL的時候沒有設定為localhost:8080,那麼這裡會一直卡在這個等待頁面不成功,你最好重新安裝下(注意,最好重新解壓壓縮檔案用新解壓的檔案重新來一遍)
最後完成後就是如下頁面:
輸入之前設定好的管理員賬號即可進入管理頁面
三、建立專案
1.配置填寫
點選右上角登入,使用之前的管理員登入,然後點選create a project建立一個新專案如下圖:
填寫好專案名稱project name,下面的Porject ID和Code review ID Pattern直接用系統自動生成的即可。
VCS版本控制工具這裡我使用的是SVN,認證方式選的中間的賬號密碼認證。這裡需要注意下Branches的填寫,理論上你svn的路徑下應該有trunk(主分支),Branches(其他分支)和tags(儲存的歷史版本),這裡預設幫你填寫了trunk和Branches,如果你直接管理你當前的的專案,那麼這些需要刪除掉,讓Branches裡面留空白即可,我這裡svn路徑下專案已經是我要管理的當前版本了(相當於trunk),所以Branches裡面是都刪除掉了的。最後點一下Test
connection,如果成功,點選最下面的Create project完成即可。
注意:我這裡svn使用的是https的協議,會報一個錯誤:
svn: E200015: Server SSL certificate for ‘https://xxx.x.x.xx:8443’ rejected, consider testing your SSL certificate with https://www.ssllabs.com/ssltest
這裡xxx.x.x.xx是我ip地址。這個報錯主要是因為svn使用了自簽證書,如果你的svn使用的也是https協議且是自簽證書,那麼需要單獨處理下
2.svn若使用的是https協議自簽證書的處理
猜測Upsource應該和大部分前端工具一樣,已經內建了常規的國際信任的證書,但是自簽名證書不包括在內,這裡就需要把你svn的自簽證書匯入到Upsource金鑰庫中去。
首先你需要把證書下載下來,你可以通過直接在瀏覽器輸入你的svn的地址,我這裡是火狐的瀏覽器,其他瀏覽器請自行在安全選項裡把對應的證書匯出來。
選擇匯出,匯出到自己指定的一個路徑即可。
然後開始使用鑰匙串的命令列工具進行證書匯入。記得首先進入root許可權:
JeffreydeMacBook-Pro:~ jeffrey$ sudo -i
JeffreydeMacBook-Pro:~ root# keytool -import -alias my_svn_alias
-keystore
/Users/jeffrey/Soft/upsource-2017.1.1892/internal/java/mac-x64/lib/security/cacerts
-file /Users/jeffrey/Desktop/5a8948a593e2424.cer
具體解釋:
第一行進入root許可權,keytool -import
-alias為鑰匙串的命令列指令,匯入的意思,其中-alias是別名的意思,後面自己起個名字,我隨便起的叫my_svn_alias,這個是在金鑰庫裡你這個證書的別名叫什麼-keystore
後面接金鑰庫路徑,具體的路徑如下圖:
在Upsource資料夾裡找到對應系統的cacerts檔案即可,我這裡的路徑是/Users/jeffrey/Soft/upsource-2017.1.1892/internal/java/mac-x64/lib/security/cacerts
,-file後面跟你要匯入到金鑰庫的本地證書的路徑,我這裡是/Users/jeffrey/Desktop/5a8948a593e2424.cer
,這個就是之前從瀏覽器匯出的證書。
大致意思其實就是使用命令列把路徑/Users/jeffrey/Desktop/5a8948a593e2424.cer
的這個證書,匯入到了Upsource裡的/Users/jeffrey/Soft/upsource-2017.1.1892/internal/java/mac-x64/lib/security/cacerts
這個金鑰庫檔案中
如果命令列輸入沒有問題,那麼會繼續提示你需要輸入金鑰庫的密碼(匯入到金鑰庫中需要這個金鑰庫的密碼),Upsource自帶的密碼為預設的changeit,之後提示是否信任,輸入y即可,最後會提示證書已新增到金鑰庫中。最後回到Upsource配置svn的頁面在測試下,就不會報錯而是成功了,點選左下角Create project即可。等待一會,則會顯示成功後的第一個專案頁面了:
四、IDE中整合
1.checkout專案
checkout一份專案下來,具體JetBrains的svn用法可以參考我另外一篇文章文章還是使用Appcode,但是目測大部分JetBrains的版本控制工具用法都是一樣的,包括安卓studio。
2.安裝外掛
JetBrains已經開發了Upsource的相關外掛,左上角點選Appcode->Preference->Plugins->Install
JetBrains plugins,搜尋Upsource,找到Upsource Integration安裝並重啟IDE:
3.外掛配置
checkout專案後,IDE右下角你回發現Upsource的小圖片,點選:
配置好Upsource的路徑,填寫為之前設定好的Base URL,即:http://localhost:8080:
4.關聯登入
點選“OK”後,會自動進入網頁中,需要關聯登入,入住對應的賬號登入並接收即可,最後關閉後即可和IDE相關聯了。
最後成功後的結果如下:
可以看到,左下角選擇器多出來了一個Reviews,右下角的Upsource的圖示已經點亮。
至此,如何安裝已經介紹完,後續會深入研究後會再具體說明Upsource的使用。目前關於URL這塊的配置沒有太詳細的深入瞭解,大致看了下,配置完一些地方後,是可以進行外網連線且自定義域名的,類似剛開始預設的域名,個人覺得就是一個推薦的域名,但是需要你讓它可用,否則預設是打不開。
原文摘自:http://blog.csdn.net/wrjzycok/article/details/70598639
upsource的官方幫助文件:https://www.jetbrains.com/help/upsource/getting-started-with-upsource.html