.Net Core 自动化部署:使用jenkins部署到linux docker容器运行
上次我们说到.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 down
remove earlier image & container - run
docker-compose build --no-cache
build 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