大叔公開課~微服務與持續集成

閒話多說

免費報名http://www.genshuixue.com/teacher/classCourseDetail/171117794648docker

.Net Core來了,帶給咱們的是什麼?跨平臺,無疑是最大的亮點!網絡

Docker橫空出世,讓開發者和運維者都嚐到了甜頭!運維

Jenkins持續集成,功能包括了持續的軟件版本發佈與測試,讓開發人員專心關注本身的代碼開發,讓運維人員專心寫部署代碼,一次性工做,歷來不要反覆的作一件事!微服務

雲時代來了,容器時代了,面向應用的微服務也來了,麻煩也就跟着來了,我應該如何去找到你,應用A,你被部署到了容器裏,你的IP不真的不清楚,由於你是那麼的善變。由於出現了這些問題,因此在解決問題的道路上出現了「服務發現」,「服務熔斷」,「服務註冊」等。測試

微軟.Net Core和Docker合做,打造多應用部署,咱們都應該知道的YML

想像一下,把一個大系統拆分紅多個小服務,這些小服務在分別去部署,或者它們之間又能夠相互通訊,這對於開發來講是清晰了,對部署來講是麻煩了,對開發來講是職責分離了,應用與應用之間解耦了,之後的A應用的升級不會影響到B應用了,這大概就是微服務設計的初衷吧!ui

1 微服務項目圖spa

2 Dockerfile的使用設計

對於容器化部署來講,咱們只要關心Dockerfle和YML文件便可,其中Dockerfile用來生成應用的鏡像;YML用來部署這個系統裏全部的應用。code

應用C裏的Dockerfile,它以aspnetcore爲基礎,而後將本身的發佈的代碼複製到了鏡像裏,最後使用dotnet命令啓動這個應用!blog

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以前我也寫着一些文件,在個人自動化部署分類上,你們能夠進行閱讀!自動化部署&持續集成系列

感謝各位的閱讀!

相關文章
相關標籤/搜索