环境需求:jenkins和.netcore

由于jenkins在真机上的部署比较麻烦,所以在这里我使用基于jenkins的Docker,只要任何一台运行docker的环境都可以进行以下的操作。

docker run --restart always --name jenkins -v $PWD/jenkins_home:/var/jenkins_home -d -p 8080:8080 -p 50000:50000 daocloud.io/chenug/jenkins-dotnet

可以到对应的目录查看文件

在windows上请注意授予docker文件访问的权限,如

打开浏览器,访问jenkins服务器,等待jenkins启动,并进入安装的界面。

进入安装界面,要求输入安装密匙,输入如下命令。获取密匙:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

紧接着是漫长的等待,如果安装页面出现错误,请重启服务,浏览器访问http://127.0.0.1:8080/restar

如下图,安装默认的的插件即可

部分插件会安装失败(很大部分原因是网络),后面进入到后台下载插件手动安装。

由于我实在是等不及,就直接刷新页面,直接进入注册账号密码,进入jenkins主界面。

由于默认安装的git就已经满足本次构建的需求,这里不介绍其他的插件使用,直接进入持续构建的主题。

首先是新建一个项目:

然后如下配置:

首先是源码可以从git,也可以从svn,甚至是文件夹,只需安装对应的插件即可。

这里需要说明的是,自动构建的规则依赖于具体的规则,在这里是只要matser分支有变化就会执行,又由于是部署在局域网内,无法使用Github的webhook,所以定义SCM每分钟去检查matser分支下是否有更新。

说回流程:

1.还原包(git restore)

2再生成对应的项目文件(cd /project;dotnet build)

3.执行对应项目的单元测试和集成测试(这一步非必要,属于持续测试的范围,测试失败会退出本次构建)

4.发布对应项目文件(dotnet publish)

如果仅仅持续构建是不够的,想要持续部署的话,需要自己进行客制化的操作。我个人的用法是使用Docker,借助像daoclou和阿里云等第三方服务,将生成的部署文件push到私有git上,第三方会帮你把容器构建和发布。

如下图:

.net core 持续构建简易教程的更多相关文章

  1. Android开发简易教程

    Android开发简易教程 Android 开发因为涉及到代码编辑.UI 布局.打包等工序,有一款好用的IDE非常重要.Google 最早提供了基于 Eclipse 的 ADT 作为开发工具,后来在2 ...

  2. Ocelot简易教程(二)之快速开始1

    Ocelot简易教程目录 Ocelot简易教程(一)之Ocelot是什么 Ocelot简易教程(二)之快速开始1 Ocelot简易教程(二)之快速开始2 Ocelot简易教程(三)之主要特性及路由详解 ...

  3. Teamcity+SVN+VisualStudio在持续集成简明教程

    Teamcity+SVN+VisualStudio持续集成 简明教程 一.写在最前: 1.      各组件版本号例如以下: Teamcity(简称tc)版本号:8.1.4 SVN版本号:Tortoi ...

  4. Ant 简易教程

    转载:http://www.cnblogs.com/jingmoxukong/p/4433945.html Ant 简易教程 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动 ...

  5. Intellj IDEA 简易教程

    Intellj IDEA 简易教程 目录 JDK 安装测试 IDEA 安装测试 调试 单元测试 重构 Git Android 其他 参考资料 Java开发IDE(Integrated Developm ...

  6. Zabbix实战-简易教程系列

    一.基础篇(安装和接入) Zabbix实战-简易教程--总流程  Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端 ...

  7. Flow简易教程——安装篇

    .mydoc_h1{ margin: 0 0 1em; } .mydoc_h1_a{ color: #2c3e50; text-decoration: none; font-size: 2em; } ...

  8. 在ASP.NET Core中构建路由的5种方法

    原文链接 :https://stormpath.com/blog/routing-in-asp-net-core 在ASP.NET Core中构建路由的5种方法 原文链接 :https://storm ...

  9. Ocelot简易教程(七)之配置文件数据库存储插件源码解析

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9852711.html 上篇文章给大家分享了如何集成我写的一个Ocelot扩展插件把Ocelot的配置存储 ...

随机推荐

  1. css之line-height

    行内框盒子模型1."内容区域"(content area)2."内联盒子"(inline boxes)3."行框盒子"(line boxes ...

  2. Git学习之路(6)- 分支操作

    ▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习 ...

  3. 安卓的UI界面开发(初学者推荐)

    一  随便扯扯 用户界面设计是程序开发的一项重要内容.在界面设计的过程中,需要考虑如何制作出UI界面,怎么样控制UI界面两大块. 任何有编程常识的人都知道:软件界面是开发者添加控件,编写控件控制逻辑, ...

  4. Android中Handler使用浅析

    1. Handler使用引出 现在作为客户,有这样一个需求,当打开Activity界面时,开始倒计时,倒计时结束后跳转新的界面(思维活跃的朋友可能立马想到如果打开后自动倒计时,就类似于各个APP的欢迎 ...

  5. AR入门系列-04-vuforia识别多个图片及同屏展示

    首先,我们需要在官网中识别数据库添加多张图片,并将数据库下载下来覆盖原来的数据库 在 Hierarchy视图中需要多个ImageTarget 将新建的ImageTarget(1) 选择数据库中的识别图 ...

  6. 【Java每日一题】20170308

    20170307问题解析请点击今日问题下方的"[Java每日一题]20170308"查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; ...

  7. apicloud中dialog使用方法

    var dialog = new auiDialog(); function openDialog(type){ switch (type) { case "text": dial ...

  8. 1029: [JSOI2007]建筑抢修

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 2382  Solved: 1033[Submit][Statu ...

  9. canvas的beginPath和closePath分析总结,包括多段弧的情况

    参考博文: Html5 canvas画图教程17:论beginPath的重要性 先看两个例子 例1: <canvas id="myCanvas" width="30 ...

  10. vue单文件组件的构建

    在很多Vue项目中,我们使用 Vue.component 来定义全局组件,这种方式在很多中小规模的项目中运作的很好. 但当在更复杂的项目中,就有了很大的弊端. 我们就可以用文件扩展名 .vue的单文件 ...