IT知识库 购物 网址 游戏 小说 歌词 快照 开发 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 编程 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> .NET新手区 -> Windows系统下使用Jenkins 自动发布 .NET core到Linux平台下Docker -> 正文阅读

[.NET新手区]Windows系统下使用Jenkins 自动发布 .NET core到Linux平台下Docker

Windows系统下使用Jenkins 自动发布 .NET core到Linux平台下Docker 准备工作(安装过程可以百度,已安装的可以跳过)
a)     安装Jenkins,安装包下载地址:http://mirrors.tuna.tsinghua.edu.cn/jenkins/windows-stable/jenkins-2.73.1.zip
b)     安装 .NET core SDK,官网地址:https://www.microsoft.com/net/core#windowscmd
c)      Linux 服务器一台并且安装好 Docker
d)     好压软件,下载地址:http://sw.bos.baidu.com/sw-search-sp/software/027b0d91ba34c/haozip_5.9.4.10795.exe。注意这不是广告,我们用他来压缩我们本地发布好的源码,因为他支持cmd命令,当然你也可以用其他的代替。为了让它支持cmd命令我们还需要修改一下本地环境变量,右键【我的电脑】->【高级系统设置】->【高级】->【环境变量设置】->选择系统变量【Path】->点击【编辑】->点击【新建】,把好压的安装目录放进去。我好压的安装目录是:C:\Program Files\2345Soft\HaoZip
图例:
 


检查环境是否就绪
a)     Jenkins浏览器打开是否正常,默认打开地址:http://localhost:8080/。
b)     检查.NET core SDK是否安装好, 打开命令窗口,输入【dotnet】命令回车,会出来基本信息
图例:
 

c)      检查 Linux 服务器一台并且安装好 Docker,连接Linux命令窗口输入【docker】,出来很多信息就对了。
图例:
 

d)     检查好压软件是否安装好,windows下打开命令窗口,输入【HaoZipC】,会出现说明。
图例:
 

整体思路大纲
a)     本地运行单元测试(没有可以跳过)->发布->上传linux服务器->生成docker镜像->docker容器运行
开始干活
a)     安装Jenkins插件,浏览器打开Jenkins,默认地址:http://localhost:8080/,进入【系统管理-】>插件管理->可选插件->输入插件名称->勾选需要插件->点击【直接安装】。
需要安装的插件:
Hudson SCP publisher plugin 上传文件插件
Publish Over SSH 连接liunx服务器执行名称插件
Environment Injector Plugin 之定义变量存放插件
图例:
 

b)     Jenkins插件设置,进入系统管理->系统设置,
找到【SCP repository hosts】上传插件设置位置:
Hostname:远程liunx服务器 IP地址
Port:端口(默认22)
Root Repository Path:文件存放目录
User Name:登入用户名
Password/Passphrase:密码
图例:
 

找到【SSH Servers】连接liunx服务器插件设置:
Name:别名,可以结合业务取
Hostname:远程liunx服务器 IP地址
Username:登入用户名
Remote Directory:连接默认工作目录
Passphrase / Password:密码
Port:连接端口(默认22)
图例:
 

【点击高级按钮】
【勾选】Use password authentication, or use a different key
 

c)      创建项目,点击【新建】->输入项目名称->选择【构建一个自由风格的软件项目】->点击【OK】
图例:
 

d)     配置项目,点击【源代码管理】->选择【Subversion】
图例:
 

选择【构建环境】->勾选【Inject environment variables to the build process】,存放变量可以不用
图例:
 

选择【构建】->点击【增加构建步骤】->选择【Execute Windows batch command】
图例:
 


现在开始我们可以按照思路大纲来写命令了。
1,运行测试脚本:
:: 切换CMD编码
chcp 65001
:: 切换目录
cd ./Boss.Web.Test/
:: 还原nuget包
dotnet restore
:: 运行测试
dotnet test
图例:
 

2,发布压缩打包命令
:: 切换CMD编码
chcp 65001
:: 切换目录
cd ./Boss.Web/
:: 还原nuget包
dotnet restore
:: 编译
dotnet build
:: 删除之前发布文件
cd ./bin
rd /s /q web-publish
del web-publish.zip
cd ..
:: 发布
dotnet publish -o ./bin/web-publish
:: 删除配置文件
cd ./bin/web-publish
rd /s /q config
cd ..
:: 压缩 好压软件
HaoZipC a -tzip web-publish.zip "web-publish\*" -r
图例:
 

到这边本地构建工作做完了。
选择【构建后操作】->点击【增加构建后操作步骤】->选择【Publish artifacts to SCP Repository】,准备上传文件到服务器
图例:
 

下拉选择要上传服务器地址(刚才配置过的都在里面),点击【增加】,第一个上传的是我们的源代码压缩包,第二个是我们要生成docker的依赖文件
图例:
 

文件目录查看
 

上传文件好了,接下来我们需要远程连接到linux服务器
选择【构建后操作】->点击【增加构建后操作步骤】->选择【Send build artifacts over SSH】
图例:
 

远程连接linux执行批处理命令,这个批处理命令我们需要2个。
1,处理之前发布内容,并且创建新docker镜像( ${自定义变量},可以换成字符)。
# 工作目录
WORK_DIR="/root/boss-deploy/web/";
cd ${WORK_DIR}
# 删除原有发布文件夹
rm -rf web-publish;
# 解压
unzip -o web-publish.zip
#删除文件压缩包
rm -f web-publish.zip;
#复制Dockerfile文件,到源码目录下
cp Dockerfile web-publish/Dockerfile
#切换生成目录
cd web-publish/
#备份镜像
#停止容器
docker stop ${DOCKER_CONTAINER_NAME};
#删除容器
docker rm ${DOCKER_CONTAINER_NAME};
#删除镜像
docker rmi $(docker images | grep ${DOCKER_IMAGE_NAME} | awk '{print $3}' | sort -r);
#创建镜像
docker build -t ${DOCKER_IMAGE_NAME}:${BOSS_VERSION}${SVN_REVISION} ./;
图例:
 

2,依赖刚创建的镜像,运行容器
#运行容器命令
docker run -d -v 服务器目录:docker内部目录 -p 8001:8001 --name 容器名称 镜像名称:镜像版本(没有特定版本可以不要)
图例:
 

到此点击【保存】,所以的配置就完成了。
 

返回首页看到刚配置好的数据,点击后面的构建就行了。
本文章到这里就结束了,我也是第一次研究,如果有问题可以留言,大家相互学习进步,谢谢!
上一篇文章           查看所有文章
加:2017-10-17 23:21:18  更:2017-10-17 23:21:25 
 
  .NET新手区 最新文章
将ZIP文件添加到程序集资源文件然后在运行时
Web服务的调用
.NET创建WebService服务简单的例子
多线程编程学习笔记——任务并行库(三)
序列化和反序列化
Spring学习之路
cs代码实现控件移动TranslateTransform
Asp.net基础知识
ACdream原创群赛(11)の风神日华神专场C.神奇
SQL 存储和触发器
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2018年10日历
2018-10-24 3:20:16
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库