0%

.Net Core 自动化部署:使用jenkins部署到linux docker容器运行

上次我们说到.Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用,这次我们使用jenkins发布我们的.NET Core站点到docker容器中运行,为后面的的docker集群化部署做准备

jenkins 安装并配置必要的发布插件 Publish Over SSH Plugin

因为linux下ssh连接使用更方便快捷,所以这里建议使用ssh发布插件来完成发布操作

  1. 在插件中心搜索Publish Over SSH关键字可以找到这个插件,安装它然后重启jenkins

  2. 进入 系统管理->系统设置->Publish over SSH 根据您的发布目标服务器的情况配置ip地址 key 和Remote Directory
    注意:Remote Directory既是您发布任务指定目录的根目录/,发布任务的远程目录是以Remote Directory为基础的。

在生产环境部署docker脚本

我已经做了个自动启动和重新构建的docker-compose项目
项目地址是:https://github.com/YahuiWong/docker-netcore

使用方法:

1
2
git clone https://github.com/YahuiWong/docker-netcore
cd docker-netcore
  1. release publish your project to ./publish dir
  2. run docker-compose down remove earlier image & container
  3. run docker-compose build --no-cache build with no-cache
  4. docker-compose up -d

编写代码发布任务

代码发布的代码获取和生成部分我们这次就不详细说明了,可以到.Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用查看,这里着重讲解Publish over SSH在发布任务的配置

  1. 添加构建后操作新增选项 Send build artifacts over SSH
  2. SSH Server Name选择自己配置好的ssh服务
  3. Source filesRemove prefix和之前的配置一样,这里不细说
  4. Remote directory选择ssh服务器 /docker-netcore/publish 路径
  5. Exec command 填写
1
2
3
4
cd /data/tests/docker-netcore # 进入您的docker-compose.yml位置
docker-compose down
docker-compose build --no-cache
docker-compose up -d

保存您的发布任务,开始发布,运行成功。