持续集成

使用Jenkins来实现内部的持续集成流程

安装和配置

注:不要将Jenkins安装在带空格的目录中(特别是workspace的目录) 比如C:\Program
Files (x86)\Jenkins\workspace\

没错 Files附近有个空格

安装Jenkins 如果需要修改工作目录 请添加环境变量JENKINS_HOME和路径

E://YoudaoNote/cll211\@126.com/d88b39e518ba46f7ab470e6c2b9c9e85/clipboard.png

第一次启动

安装完之后,用浏览器打开安装时配置的地址,首页会显示一个文件路径,打开路径对应文件,文件内容即为初始密码

输入密码,登录系统

插件安装,第一次进入时,选择初始化哪些插件(建议先使用系统提议的)

E://YoudaoNote/cll211\@126.com/702a37273574475189d387be56047e15/clipboard.png

开始安装出插件

创建第一个管理员用户

配置访问端口

完成安装

插件安装,后续需要添加插件

进入 系统管理->插件管理,安装插件

选择插件

推荐:

PowerShell

Team Foundation Server

系统其他环境安装

安装Git

Path to Git executable 值 填写安装的GIT的文件bin下面的目录

NodeJS 并且启用淘宝镜像

安装(建议版本node-v9.9.0-x64)完之后启用 淘宝镜像 命令如下

npm config set registry https://registry.npm.taobao.org

安装WebDeploy

dotnet core

安装Nuget (暂时不需要)

配置项目构建

添加任务

添加源代码地址和登录凭据

添加源代码地址和登录凭证

此图没有填写凭证时显示的错误

点击Credential后面的添加 填写能访问源代码的用户名和密码

选中刚刚添加的用户名和密码

不再报错 表示填写正确

Branches to build可以不用填写,建议填写需要发布的对应分支

添加构建触发器

E://YoudaoNote/cll211\@126.com/1bbddafa7bfa4296a90ea4e52269665d/clipboard.png

(这里选择,当推送代码到TFS远程版本仓库时,触发构建)

注:如果“构建触发器”不存在此选项 请到Jenkins 插件管理安装插件Team Foundation
Server Plug-in

此触发方式需要在服务器上(比如TFS)添加WebHook(如果服务器不支持添加WebHook,可以考虑使用“轮询SCM”,此处未作尝试)

TFS添加WebHook

打开TFS 选中项目 右边设置 选择服务挂钩

创建订阅=>Jenkins=>下一步

该类型事件的触发器=>选择 “已推送代码”

筛选器 存储库=>选择对应的存储库

分支=>选择要推送的分支

下一步

C:\\Users\\Ranlin\\AppData\\Roaming\\Tencent\\Users\\59575691\\TIM\\WinTemp\\RichOle\\MH03IGRYKJX\@B)P1I\`W\@06J.png

设置和身份验证用户名和密码 填写Jenkins访问地址和用户名、密码

集成级别=>选择“Jenkins的TFS插件”

点击测试按钮:

表示出配置成功

如果测试失败,检查Jenkins基URL 后面不要以斜杠(“/”)结尾 (神坑!!!)

添加构建步骤

后端UI

E://YoudaoNote/cll211\@126.com/1facf458cf1a43edbfd2f9e8d16db987/clipboard.png

E://YoudaoNote/cll211\@126.com/c3583c06bdff42d7b8ea95ca58bc69b0/clipboard.png

  1. npm i

  2. npm run deploy-dev

注:如果不存在此Window Power Shell 请到Jenkins 插件管理安装插件 PowerShell

关于deploy-dev命令 详见后端UI代码package.json文件

API端

构建步骤

  1. dotnet restore

  2. dotnet publish
    src\Magicodes.Admin.Web.Host\Magicodes.Admin.Web.Host.csproj -c Release

“C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe”
-source:contentPath=%WORKSPACE%\src\admin\api\Admin.Host\bin\Release\netcoreapp2.1\publish
-verb:sync -enableRule:DoNotDeleteRule -allowUntrusted
-dest:contentPath=’站点名’,ComputerName=’https://开启WebDeploy的地址:8172/msdeploy.axd?site=站点名’,UserName=’WebDeploy用户’,Password=’WebDeploy用户密码’,AuthType=’Basic’

%WORKSPACE%:Jenkins中当前编译项工作目录 参见Jenkins可用环境变量列表

注意:关于Jenkins系统参数 参考 下面链接

参考链接:
https://weblogs.asp.net/scottgu/automating-deployment-with-microsoft-web-deploy


  转载请注明: 麦扣官方文档 持续集成

 上一篇
主要开源组件说明 主要开源组件说明
Magicodes.Pay(统一支付库)Nuget 主要功能 Magicodes.Pay,是心莱科技团队提供的统一支付库,相关库均使用.NET标准库编写,支持.NETFramework以及.NET Core。目前支持以下支付方式和功能:
2019-05-06
下一篇 
常见问题 常见问题
服务器不支持HttpPut和HttpDelete建议增加以下配置进行尝试: <system.webServer> <modules> <remove name=”WebDAVModule” /> <
2019-05-06
  目录