一、Maven前端
在現在的互聯網項目開發當中,特別是Java領域,能夠說Maven隨處可見。Maven的倉庫管理、依賴管理、繼承和聚合等特性爲項目的構建提供了一整套完善的解決方案,能夠說若是你搞不懂Maven,那麼一個多模塊的項目足以讓你頭疼,依賴衝突就會讓你不知所措,甚至搞不清楚項目是如何運行起來的webpack
二、Git程序員
一個專業的程序員,怎麼能不掌握Git呢?版本控制領域,已經發展了一段時間,從古老的CVS,到SVN集中式管理,再到如今的Git。因爲Git的分佈式、everything is local、分支等諸多特性,讓愈來愈多的項目開始從SVN遷移到Git進行管理。web
三、Jenkinsshell
Jenkins是一個開源的持續集成工具,應用Jenkins搭建持續集成環境,能夠進行自動構建、自動編譯和部署,很是方便。npm
在服務器比較少的狀況下,Jenkins的優點並不明顯,可是隨着項目發展,服務器數量的增長,Jenkins的優點就會凸顯出來,能夠很好的提升效率,減小不少人工操做。編程
公司的項目自動自動化部署是採用 Jenkins,而且編寫自動構建的shell腳本。後端
因爲項目是先後端分離,前端和後端都是單獨部署的, 後端 採用 JAVA編寫,使用Maven管理多模塊和項目依賴, 前段使用 npm 管理項目組件依賴, webpack進行打包。服務器
四、Sonar架構
Sonar是一個用於代碼質量管理的開源平臺,用於管理Java源代碼的質量。經過插件機制,Sonar 能夠集成不一樣的測試工具,代碼分析工具,以及持續集成工具,好比pmd-cpd、checkstyle、findbugs、Jenkins。經過不一樣的插件對這些結果進行再加工處理,經過量化的方式度量代碼質量的變化,從而能夠方便地對不一樣規模和種類的工程進行代碼質量管理。
同時 Sonar 還對大量的持續集成工具提供了接口支持,能夠很方便地在持續集成中使用 Sonar。
此外,Sonar 的插件還能夠對 Java 之外的其餘編程語言提供支持,對國際化以及報告文檔化也有良好的支持。
3、微服務架構