閑話多說 免費報名:http://www.genshuixue.com/teacher/classCourseDetail/171117794648 .Net Core來了,帶給我們的是什麼?跨平臺,無疑是最大的亮點! Docker橫空出世,讓開發者和運維者都嘗到了甜頭! Jenkins持久集成,功 ...
閑話多說
免費報名:http://www.genshuixue.com/teacher/classCourseDetail/171117794648
.Net Core來了,帶給我們的是什麼?跨平臺,無疑是最大的亮點!
Docker橫空出世,讓開發者和運維者都嘗到了甜頭!
Jenkins持久集成,功能包括了持續的軟體版本發佈與測試,讓開發人員專心關註自己的代碼開發,讓運維人員專心寫部署代碼,一次性工作,從來不要反覆的做一件事!
雲時代來了,容器時代了,面嚮應用的微服務也來了,麻煩也就跟著來了,我應該如何去找到你,應用A,你被部署到了容器里,你的IP不真的不清楚,因為你是那麼的善變。因為出現了這些問題,所以在解決問題的道路上出現了“服務發現”,“服務熔斷”,“服務註冊”等。
微軟.Net Core和Docker合作,打造多應用部署,我們都應該知道的YML
想像一下,把一個大系統拆分成多個小服務,這些小服務在分別去部署,或者它們之間又可以相互通信,這對於開發來說是清晰了,對部署來說是麻煩了,對開發來說是職責分離了,應用與應用之間解耦了,以後的A應用的升級不會影響到B應用了,這大概就是微服務設計的初衷吧!
1 微服務項目圖
2 Dockerfile的使用
對於容器化部署來說,我們只要關心Dockerfle和YML文件即可,其中Dockerfile用來生成應用的鏡像;YML用來部署這個系統里所有的應用。
應用C里的Dockerfile,它以aspnetcore為基礎,然後將自己的發佈的代碼複製到了鏡像里,最後使用dotnet命令啟動這個應用!
3 docker-compose.yml進行服務的部署
YML里會有這個系統的服務名稱和每個小應用的服務名及它們使用的Dockerfile的地址,生成的鏡像名,鏡像運行後的容器名,監聽的埠,使用的網路,運行的環境等很多配置的信息
version: '3'
services:
a:
image: a
build:
context: ./應用A
dockerfile: Dockerfile
b:
image: b
build:
context: ./應用B
dockerfile: Dockerfile
c:
image: c
build:
context: ./應用C
dockerfile: Dockerfile
version: '3'
services:
a:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "80"
事實上,對於服務的部署可能要說的還很多,這裡篇幅有限,就到這吧!
Jenkins之前我也寫著一些文件,在我的自動化部署分類上,大家可以進行閱讀!自動化部署&持續集成系列
感謝各位的閱讀!