應用場景
企業(yè)項目制作除了多分支開發(fā)外,通常也會使用CI來簡化部署流程,提高部署效率,當然,流程也不能少了測試服。畢竟,bug乃家常便飯,聯(lián)調(diào)必不可免,因此,開發(fā)至測試服并遷移到正式服的流程也必不可少。
測試服環(huán)境
應用開發(fā)語言:Java
服務器:ECS CentOS7
CI:Jenkins
容器引擎:Docker
執(zhí)行:Shell
運行程序:Jar
正式服環(huán)境
服務器:ECS CentOS7(正式服可考慮四核八G)
CI:Jenkins
容器引擎:Docker
執(zhí)行:Shell
運行程序:Jar
遷移正式服
- 域名購買及備案
- 解析域名(可解析多個二級域名,應用于cms or web等等)
- 拿到新機 yum update
- JDK
- 安裝Docker環(huán)境并啟動(采用systemctl)
- 編寫DockerFile,或依次pull MySQL,Redis,并Run,映射到相應端口(配置安全組)
- install Nginx
- 配置server映射到一開始解析的一級或二級域名
- 配置root(h5頁面上傳,可上傳前端使用npm打包完成的xxx.js)
- 配置映射location,若為Spring or SpringBoot項目,可通過requestMapping的前半部分進行URL規(guī)則映射
- 打Jar包,可使用持續(xù)集成工具+shell腳本打包,至于會不會新版本的jar替換舊版本的jar,全看shell腳本寫的好不好
- 后臺執(zhí)行jar,可采用nohup
- Java應用程序一定要記得加log,將日志也打到正式服上,因為...這是個好東西來著
- 常用檢測:tail -xxx xxx.log / tail -f xxx.log
- 部署Jar包經(jīng)常使用流程:ps xxx(-ef)|grep xxx -> kill -9 port -> nohup
- 若使用Swagger調(diào)試的可開啟Api文檔進行接口調(diào)用調(diào)試,若不使用,可采取postman等http請求調(diào)試工具
╮( ̄▽ ̄)╭至此,一個大致的正式服也基本可以跑起來了
總結(jié)
折騰服務器是一件有趣的事情,畢竟可以前沿地接觸一些新鮮的技術(shù),可玩性很高,方案也多得多?。?!本篇介紹的算是簡略總結(jié)版,并無開展更多細節(jié),閑下來了估計會出一份詳盡版或折騰版。有興趣的一起交流交流?。?!