日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Asp.net Core Jenkins Docker 实现一键化部署

發布時間:2023/12/4 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.net Core Jenkins Docker 实现一键化部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面

在前段時間嘗試過用Jenkins來進行asp.net core 程序在IIS上面的自動部署。大概的流程是Jenkins從git上獲取代碼

最開始Jenkins是放在Ubuntu的Docker中,但是由于Powershell執行的原因,就把Jenkins搬到了windows上。因為我們網站的部署需要停掉IIS站點,所以需要Powershell來遠程操作服務器(上傳文件,停止站點,啟動站點),也很順利的利用WinRM+Powershell腳本實現了上面的功能,但是最后在實際使用中發現,腳本停止站點偶爾會有是假狀態,進行Copy文件還總是會因為占用而失敗,所以還是只能手動去停止站點,這樣就沒有達到一鍵化的目的,所以就有了用Docker來鏡像。

Docker Image

.net core對Docker是大力支持了,在Core之前,我就特別羨慕我在Docker中使用一些工具的體驗--一行指令就可以工具自動安全完整了,不用費力進行環境配置,而且對系統的入侵特別少。所以Core出來之后,我就一直會嘗試在Docker中運行Core程序 但是一直沒敢上正式環境,正好現在遇到自動化部署的問題,就打算先從測試環境開始,把Docker環境一步步的能應用到正式環境上。大概的流程是這樣的:

Jenkins安裝

Docker安裝Jenkins可以直接到store.docker.com上搜索Jenkins的鏡像然后run容器就行了唯一要注意的是要讓容器中的Jenkins共用宿主機的Docker環境,命令如下

docker run --memory 1.5G ?--name ContainerName -p 18181:8080 -p 50000:50000 -u root -d --env JAVA_OPTS="-Xms256m -Xmx512m ?-XX:MaxNewSize=256m" ?-v /var/run/docker.sock:/var/run/docker.sock ?-v /usr/bin/docker:/usr/bin/docker ?-v /home/buxiaoxia/software/jenkins:/var/jenkins_home -v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 jenkins/jenkins:lts

后面的-v是用來指定宿主機的文件/文件夾掛載到宿主機的指定路徑上面,這里主要是用來掛載宿主機的Docker環境。當容器啟動完成之后,我們可以用命令

docker exec -it containerid /bin/bash

進入容器中,執行docker ps的命令試試是否能執行成功。

Jenkins Job

當容器運行好之后,進行一些初始化的工作之后,我們就可以開始建立的部署Job了

源代碼管理中配置我們Git的地址

然后就是構建命令直接用執行Shell

這里就是在構建我們的Image了
然后接下來就是推送當前構建的Image到遠程倉庫,再在構建后去執行遠程連接到需要發布的服務器根據版本號獲取到需要部署的鏡像進行run就行,因為我當前都在測試環境 所以就直接在本地執行鏡像的run了。

這樣就基本實現了一鍵化部署了,當然還是有很多需要優化的地方,接下來我在使用的過程中如果遇到用著不順的或者是你們有不順的地方我們在來解決下。

寫在最后

DockerFile

最開始構建asp.net core 2.1版本的鏡像的時候,運行總是會找不到dotnet sdk,最后就只有在DockerFile中添加了一層 文件內容如下

這種方式有個問題就是會有一些無用的images 分享的指令來進行清除

原文地址:??https://www.cnblogs.com/rstar/p/9983438.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的Asp.net Core Jenkins Docker 实现一键化部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。