上次我们说到.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-netcorecd docker-netcore
release publish your project to ./publish dir
run
docker-compose down
remove earlier image & containerrun
docker-compose build --no-cache
build with no-cachedocker-compose up -d
编写代码发布任务
代码发布的代码获取和生成部分我们这次就不详细说明了,可以到{% post_link jenkins-docker-dotnet-core-publish .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