使用Jenkins来实现内部的持续集成流程(下)
发布日期:2021-05-09 01:40:43 浏览次数:23 分类:博客文章

本文共 1319 字,大约阅读时间需要 4 分钟。

目录

  • 配置项目构建

  1. 添加任务

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

  3. 添加构建触发器 

  4. TFS添加WebHook 

  5. 添加构建步骤

    后端UI 

    API端 

配置项目构建

1、添加任务

 

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

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

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

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

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

不再报错 表示填写正确

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

3、添加构建触发器

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

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

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

4、TFS添加WebHook

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

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

 

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

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

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

下一步

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

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

点击测试按钮:

表示出配置成功

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

5、添加构建步骤

后端UI                

  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系统参数 参考 下面链接

参考链接: 

上一篇:构建自己的简单微服务架构(开源)
下一篇:使用Jenkins来实现内部的持续集成流程(上)

发表评论

最新留言

不错!
[***.144.177.141]2025年05月07日 19时40分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

8位二进制转bcd算法 c语言,二进制转BCD码快速算法 bin to bcd fast code. 2023-01-24
900行c语言贪吃蛇,原生js实现的贪吃蛇网页版游戏完整实例 2023-01-24
ado filter 多条记录_Excel 有了Filter函数VLOOKUP函数要靠边站了 2023-01-24
ado读取多条oracle数据,Oracle ADO数据存取 2023-01-24
anaconda新建python2环境安装不了jupyterlab_anaconda3安装及jupyter环境配置教程(全)... 2023-01-24
android asynctask handler 区别,AsyncTask与Thread+Handler简要分析 2023-01-24
android fastjson漏洞_初识Fastjson漏洞(环境搭建及漏洞复现) 2023-01-24
android pod 组件化_CocoaPods 组件化实践 - 私有Pod 2023-01-24
$CH0201$ 费解的开关 2023-01-24
android进程管理策略,Android进程保活 2023-01-24
arduino蓝牙通讯代码_arduino 联接蓝牙模块 2023-01-24
asp.mvc 4项目发布文件目录结构_如何用SpringBoot(2.3.3版本)快速搭建一个项目?文末有小彩蛋... 2023-01-24
aspen串联反应怎么输入_如何进步提升串联谐振试验装置的稳定性 2023-01-24
aspose html转pdf_Java实现Word/Pdf/TXT转html 2023-01-24
a推b等价于非a或b_AB胶/蜜月胶常见问题的原因分析及解决方法 2023-01-24
bat 命令返回结果_【批处理】带你入门命令行 2023-01-24
c++ string取子串_Integer与String的设计哲学 2023-01-24
c++ 数组批量赋值_数组之间不能赋值?穿个马甲吧! 2023-01-24
cad模糊查询符号_mysql 正则模式和like模糊查询 2023-01-24
continue可以用if判断里面吗_谁能说说if()else()里的continue是干嘛的? 2023-01-24