關於 jira confluence gitlab jenkins 的配置與整合以及常見的使用方式?
這幾個是神器如何配置整合以及使用?求大牛分享使用經驗,以及成果。
我先厚臉皮的自問自答,發表下自己的愚見,分享下配置過程與使用,拋磚引玉,希望引出大牛!
因為我這邊也不是用了很久(1年左右),所以很多地方不成熟也不是最優的選擇,如果有好的方案還請分享。
我這邊因為在北京,有成員住的遠,不是每天到公司,所以採用了公網部署以及雙向證書驗證的方案,這個方案就使用而言體驗不錯,但是在配置與實施過程中坑比較多。另外一個比較好的方案是採用vpn連入虛擬網,此方案按理說也會是不錯的選擇,而且坑會少些,但我沒就此方案進行過嘗試,所以就不談這個了。
對於LDAP雖然我這邊在用,但是這個感覺不是很必須,有時間再說這個吧。
這幾個是做什麼用的?
jira 是一個基於java的issue(問題、事項)管理器,類似的產品有禪道,github也有簡單的issue管理,支持很多插件,而且可定製。confluence 是一個基於java企業知識平台,基本上是一個企業博客,他有一些工作流管理功能,也支持很多插件(如UML、思維等等),容易定製。
gitlab 是一個類似於github的東西,它是採用ruby開發的,支持自己的一套智能提交,並且非常開放,易於集成。
jenkins 是一個java實現的持續集成工具,圖標是一個紳士小老頭很搞笑,在我這邊一般它會工作在觸發後執行打包腳本,進行自動化的集成部署,完成後會發送郵件提示,通知結果。後期我這邊將它和nexus進行了整合,改變了一些使用方法,但是大致還是這樣子。雖然這個是java寫的,但是完全可以用作其他語言的持續部署,它很神奇,很省心,也很易用。
費用?
jira confluence 插件
也應該看到了,我這邊用的是正版,不推薦D版,請支持正版。
官方有費用的介紹,國內有代理,可以開發票是可以比較方便走賬的,價格相對而言還是比較可觀。最低有10人10美元授權,其實巧妙分組使用此授權可以在更多人數的團隊中使用(就是說不是一套JIRA),但記得其實人家授權協議中是不同意這樣子做的(其實我也沒仔細看)。
插件
插件大多支持試用一段時間,大可以裝上試用下,感覺好了再付費。google可以搜到很多人的評價,在 http://stackoverflow.com 和 Hot Questions - Stack Exchange 中也有很多評論可以參考,慢慢搜索就行了。對硬體的要求?
內存:
在實際使用中發現,jira 和 confluence 很吃內存,分配小內存使用起來效果並不好,我在內部伺服器上配置了48G內存,給亂七八糟的服務去使用,使用起來體驗還可以。處理器:
對於cpu等吃的並不厲害。硬碟:
對於硬碟 iops 相對於內存次要敏感,我這邊是配置了兩張 ssd 做的 raid1(mdadm做的),使用中感覺還可以。
網路:
延時還是要低些吧,你放到美國的vps上300多ms的延時估計用起來是不會開心的。在實踐中需要應用的其他工具或產品?
linux伺服器 應該不是必須的?據說可以用windows?我沒考證過,所以寫在這裡吧。
tomcat 這是apache下的開源項目,是一個 JSP/Servlet 容器(就是跑java網站用的服務端),另外還有jboss等,但是我們用不到ejb,所以tomcat是個好選擇。
nginx web服務端,也可以作為反向代理(實際上用作反向代理比較多)
postgresql 一款學院派風格的關係型資料庫(雖然也支持nosql),性能很不錯,使用起來坑也比較少,對於一些特性他比mysql兼容的好,我這邊大量在使用。這個不是必須的,用mysql,sqlserver(這個我沒試過)是可以替代的。雖然他支持nosql資料庫,但還是不要用的比較好。
雙向證書驗證 一般的https是單向的,即服務端裝證書,客戶端驗證,而雙向證書顧名思義就是雙向的,客戶端也要有,服務端會驗證客戶端的證書,沒證書,訪問不了。
我這邊吧服務都放在了公網,雖說代碼本身是不怕同僚離職時帶走,但是考慮到其他方面這顯然不太安全,所以採用了雙向認證的方案。在實施中吧個人證書與自建CA的根證書分發給同僚,進行安裝後即可訪問,但是沒有證書訪問頁面就會404,製造出沒有這個頁面的假象。
自建CA 因為採用了公網部署雙向證書驗證的方案,口袋裡又沒有錢都去用正規CA的證書,所以這個基本不可少。
可選技術?
docker 這個當下非常火,不必多說了。在實際使用中我嘗試過吧這幾個項目部署到docker里,但是就體驗來說效果不好。在實際使用中主要是吧 docker 來結合 spring cloud 來使用。
nexus 一個開放的自建maven,可以代理中央伺服器,也可以上傳內部的包讓團隊成員共享與使用,做java方面的開發這個可謂是不可不用。
ss-local 這個我不展開了,畢竟你懂的。這是一個神奇的梯子工具的客戶端,我在內部伺服器(即跑這些應用的伺服器,而不是內網中的伺服器)中進行了部署,連接到東京的linode,來給nexus加速。在安裝這一堆亂七八糟的過程中使用此神器可以大大加速下載速度,如果你在國外應該用不到這個。
privoxy 一個代理伺服器,ss-local提供的是一個socks5代理,但是畢竟用socks5很多地方不方便,比如終端下並不能簡單的使用,而很多應用也只支持使用http代理,所以就用它來進行socks 到 http 的轉換。
jira git 插件 一個可以和git庫進行集成的插件,對雙向證書支持不好,只能在nginx給此插件開小灶不走雙向認證。
jira gantt-charts 插件 一個jira展示甘特圖的插件,體驗很不錯,排版容易混亂,但並不影響使用。
confluence http://draw.io 插件 畫圖用的,基本上常見的圖都支持,但是體驗一般,可以安裝其他插件進行優勢互補。
jira 和 confluence 中文漢化包 顧名思義,對於像是我這種只有小學英語水平的人尤為重要。
zsh 一個神奇的shell,用他來增加終端使用git的體驗
oh-my-zsh 顧名思義,用zsh幾乎必備
如何使用這一堆亂七八糟?
至於集成與賬號創建等我會在配置安裝章節進行闡述,在此只提供一個用例。
感覺碼字好麻煩,只寫基於默認的情況下一種符合大多數情況的案例吧,供大家參考:
項目定下來後首先用 jira 建立項目,首推:
jira中也已經有了
git commit -m "JIRA的任務KEY #目的狀態 解釋"
如果你有多個任務可以用空格間隔重複前半部分,不需要提交多次。
對於智能提交jira官方是有詳盡說明的,我放連接,需要的可以去慢慢研究,一般在使用中我是會弄個環境變數或者腳本來方便提交 issue key ,畢竟有的項目會把KEY搞得很長,輸入起來並不是很方便,有的同僚是採取IDEA中設定ISSUE的方式,這些都是比較好的辦法。Atlassian Documentation(如果沒有設定過本地 git 的 config 請按照gitlab下面的步驟來做一下,不去設定的話會發現提交後不會關聯到對應用戶,它是按照郵箱進行的索引,所以郵箱是尤為重要的)
(另外扯一句題外話,我曾經見過一些同行,不知道代碼潔癖還是有要求怎麼的,git提交錯了,push了,消尖了腦袋去改git的提交,莫非跟績效掛鉤?在我看來這是大可不必的,提交錯了重新提交一次即可,大可不必在這裡鑽牛角尖,要不天天改提交,哪天手抖輸敲錯了就心塞了反而麻煩。至於代碼審核也請不要基於提交為單位展開,要不真會逼人去改提交,而且代碼審核這種事最好是上下文都要看到才好,不知道上下文的話突然插進來不要談審核,哪裡是那裡都不知道。)
-------
未完待續創建jenkins工程集成與搭建。坑與奇葩:前端甚至市場活動源文件怎麼辦?使用中的心塞jira gitlab集成,jira redmine集成。。。期待部署文檔
試試actionview吧,類jira的問題需求跟蹤工具,可自定義工作流,支持問題看板等,前端react+redux,後端laravel. 演示環境:http://actionview.cn
為啥不用BITbucket?
有用,喜歡,期待
請問一下JIRA issue 中的標記語言(Textile)無法使用是什麼原因?
為什麼我這邊將jira和Git集成的時候,總是提示:你沒有安裝證書
百度了好久沒有找到解決辦法,求助,
推薦閱讀: