环境需求: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/koukouge/jenkins-dotnet:1.0
可以到对应的目录查看文件
在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上,第三方会帮你把容器构建和发布。
如下图: