我以前寫過:html
Asp.Net Core 程序部署到Linux(centos)生產環境(一):普通部署git
Asp.Net Core 程序部署到Linux(centos)生產環境(二):docker部署github
你們可能會有疑問,分佈式環境當中的部署仍是跟咱們在windows同樣,一臺機一臺機的去部署、更新程序嗎?web
其實,擁抱Linux 咱們還有更多選擇,好比:自動化部署;docker
centos:7.2
cpu:1核 2G內存 1M帶寬shell
前面說過了,不過仍是寫運行環境仍是再寫一下windows
安裝其實很簡單,就不重複說了,請查看純潔大神這篇文章centos
安裝我單獨記錄了一篇,Asp.net Core 使用Jenkins + Dockor 實現持續集成、自動化部署(一):Jenkins安裝瀏覽器
由於jenkins須要用到本地的docker-compose環境,因此,安裝完以上步驟的jenkins後,使用bash
docker exec -it jenkins /bin/bash
進入容器內部安裝docker-compose,安裝步驟去
此web應用程序就是你須要部署的項目,我這裏建立一個演示項目 WebApplication2;
這裏先取消掉https,勾上啓用docker支持;
接着把docker-compose.override.yml文件裏面ports:下面的"ports:"的 - "80"
改爲- "5006:80"
項目結構:
建立成功後,運行一下,能正常運行後,將項目上傳到git服務器(github,gitlab,gogs等),我上傳到了本身的gogs:
新建項目
構建一個自由風格的軟件項目
這裏能夠指定git分支
這裏的是設置輪詢去git拉取代碼,若是代碼有更新就觸發構建操做,
H/2 * * * *
是指每2分鐘輪詢拉取一次;
Abort the build if it's stuck 是指若是構建過程當中卡住了,就終止構建;這裏是10是10分鐘,10分鐘超時構建失敗;
填寫構建腳本
GITHASH=`git rev-parse --short HEAD` echo ========remove-orphans=========== docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml -p webapplication1 down --rmi local --remove-orphans echo ========config=========== docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml -p webapplication1 config echo ========publishing=========== docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml -p webapplication1 up -d --build echo ---------------Clear-Images...------------------ clearImagesList=$(docker images -f "dangling=true" -q) if [ ! -n "$clearImagesList" ]; then echo "No need to clean up images." else docker rmi $(docker images -f "dangling=true" -q) echo "clear success." fi echo ---------------Clear-Containers...------------------
點擊保存回到jenkinstest2項目界面,點擊「當即構建」
構建控制檯輸出
perfect!構建成功,如今打開 http://你的服務器ip:5006,能夠看到,沒錯,這就是咱們的網站:
若是網站有任何更改,提交代碼哦,jenkins會自動拉取代碼,併發佈一個新的容器,咱們就等着哈哈哈,刷新瀏覽器就好了;