dotnet core 搭建持续集成环境

引子

对于当前快节奏的产品发布周期, 持续集成系统的使用是必不可少的. 在确定了用dotnet core作为主要开发平台之后就开始琢磨着搭建起CI环境, 便有了此文.

Jenkins的安装

之前用过Bamboo和Jenkins, 由于Bamboo是在公司中使用的, 而且当今的开源社区一片繁荣, 估计很少会有人愿意花钱买个CI系统去用, 所以选择了Jenkins来做介绍.
当前已经是Docker的时代, 如果你不用或你不会用docker, 你都不好意思跟人说你是码农, 鉴于此, 我向大家隆重推出Jenkins官方的Docker Image.

考虑到.net程序员接触过docker的比较少, 在此对docker做一个简要的介绍, 看链接Docker简介 .

《dotnet core 搭建持续集成环境》 **我不会告诉你我有多懒**

请注意川酷最终并没有选择用Docker来运行Jenkins, 如果专注于Jenkins 对于dotnet core的配置, 请跳到Jenkins的配置步骤!

安装docker异常简单, 无论你是Windows, OSX还是Linux, 下载安装即可, 地址点这里 安装后会有一个短暂的启动过程, 然后就可以用命令行进行操作了.
首先下载Jenkins官方的Image, 如下面这个命令

docker search jenkins

搜到的结果中第一个即是

《dotnet core 搭建持续集成环境》

下载这个image

docker pull jenkins

因为我已经下载了, 所以是下面这个效果

《dotnet core 搭建持续集成环境》

下载好了后, 用下面的命令启动

docker run -p 8088:8080 -p 50001:50000 -v /var/jenkins_home jenkins

然后浏览器中输入网址http://localhost:8088, 即可打开Jenkins的UI界面.

以上是Jenkins官方的image运行方法, 由于川酷用的是Win10, 又懒于安装Linux虚拟机, 硬盘不能跟docker内共享, 并且Jenkins官方的image竟然不支持sudo, 根本无法安装dotnet core. 所以对于docker的介绍至此结束!

好了, 装13结束, 下面开始正式的安装Jenkins!

《dotnet core 搭建持续集成环境》 dfl.jpg

Jenkins官网下载Jenkins的war文件, 然后运行

java -jar jenkins.war

打开浏览器, 输入地址 http://localhost:8080/ 则可以打开Jenkins的页面.

《dotnet core 搭建持续集成环境》

提示输入一个密码, 在启动控制台中可以找到, 如下图

《dotnet core 搭建持续集成环境》

输入之后点击Continue, 即可进去安装过程

《dotnet core 搭建持续集成环境》

为了成功装13, 我选择第二种! 默认配置已经安装了Git, svn, 也安装了一些编译器, 我只比默认多选了一个Xunit

《dotnet core 搭建持续集成环境》

安装完成会提示输入用户名密码等, 很简单, 不详述.

Jenkins的配置

登陆进来以后, 进入配置步骤, 点击创建一个新任务 进入下面的界面

《dotnet core 搭建持续集成环境》

为任务起个名字, 选择第一个选项, 然后点击OK. 然后选择一下你使用的源代码管理工具, 并填入相关的代码库地址, 为了方便使用了Github作为源码库.

《dotnet core 搭建持续集成环境》

我用的Git, 所以就以Git为例. 构建出发器选择了Build when a change is pushed to GitHubPoll SCM, Jenkins将根据一定的周期检测是否有新的提交, 有的话则会pull下代码进行Build, 下面这个图是配置的两分钟检测一次

《dotnet core 搭建持续集成环境》

构建环境勾选了每次构建前删除之前构建的内容并且构建卡住的话会杀掉构建进程, 如图

《dotnet core 搭建持续集成环境》

构建步骤增加一个windows批处理的步骤, 如果是linux就选shell, 脚本很简单

dotnet restore
dotnet build
dotnet publish

构建后操作添加一个 **Archive for artifacts ** 填入构建后publish的地址, 大概的形式参考下图.

《dotnet core 搭建持续集成环境》

点击保存即完成了配置过程.

看结果

费了九牛二虎之力, 川酷终于配置完成, 看图

《dotnet core 搭建持续集成环境》

只要代码库有变化, 构建会很快执行.

如果你认真看了此文, 并按步骤执行一定会发现问题, 欢迎讨论!

    原文作者:春上川酷
    原文地址: https://www.jianshu.com/p/1d4f7942dd42
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞