上次我們說到.Net Core 自動化部署:使用docker版jenkins部署dotnetcore應用,這次我們使用jenkins發布我們的.NET Core站點到docker容器中運行,為后面的的docker集群化部署做准備
jenkins 安裝並配置必要的發布插件 Publish Over SSH Plugin
因為linux下ssh連接使用更方便快捷,所以這里建議使用ssh發布插件來完成發布操作
-
在插件中心搜索
Publish Over SSH關鍵字可以找到這個插件,安裝它然后重啟jenkins -
進入 系統管理->系統設置->
Publish over SSH根據您的發布目標服務器的情況配置ip地址 key 和Remote Directory
注意:Remote Directory既是您發布任務指定目錄的根目錄/,發布任務的遠程目錄是以Remote Directory為基礎的。
在生產環境部署docker腳本
我已經做了個自動啟動和重新構建的docker-compose項目
項目地址是:https://github.com/YahuiWong/docker-netcore
使用方法:
git clone https://github.com/YahuiWong/docker-netcore
cd docker-netcore
- release publish your project to ./publish dir
- run
docker-compose downremove earlier image & container - run
docker-compose build --no-cachebuild with no-cache - docker-compose up -d
編寫代碼發布任務
代碼發布的代碼獲取和生成部分我們這次就不詳細說明了,可以到.Net Core 自動化部署:使用docker版jenkins部署dotnetcore應用查看,這里着重講解
Publish over SSH在發布任務的配置
- 在
添加構建后操作新增選項Send build artifacts over SSH SSH Server Name選擇自己配置好的ssh服務Source files和Remove prefix和之前的配置一樣,這里不細說Remote directory選擇ssh服務器/docker-netcore/publish路徑- Exec command 填寫
cd /data/tests/docker-netcore # 進入您的docker-compose.yml位置
docker-compose down
docker-compose build --no-cache
docker-compose up -d
