使用jenkins自部署Coding项目
下载安装jenkins下载地址:https://jenkins.io/download/
安装后通过主机的8080端口进行程序设置,插件安装默认的就好
Jenkins项目目录:C:\Program Files (x86)\Jenkins\workspace
服务器要使用nodejs就在服务器安装下nodejs,然后环境变量该设置的都设置下基本就不会有问题
很多时候因为环境变量或者程序安装的问题。需要重启下服务
!!确保服务器上面能够手动执行构建成功
Coding集成Jenkins
文档地址:http://codingcorp.coding.me/coding-openapi/ci/jenkins/
在认证形式这里,最开始的时候有一点懵逼~
https://dn-coding-net-production-pp.qbox.me/1c10b503-117d-431e-8a3a-50431b4f9259.png
生成密钥
设置部署公钥(id_rsa.pub文件中的值),权限可以选择是否有推送权限
将生产的密钥
生成命令:ssh-keygen -t rsa -C "your_email@example.com"
生成目录:C:\Users\用户名\.ssh (Linux下/your_home_path/.ssh/id_rsa)
https://dn-coding-net-production-pp.qbox.me/baf94c4c-da3f-4735-9802-536679b4f022.png
Git安装并配置
Git下载:https://git-scm.com/download/win
https://dn-coding-net-production-pp.qbox.me/3184ccd5-20da-4e46-b45f-c663fb5f700f.png
发布.net代码则需要安装MsBuild Plugin插件
使用nodejs
在服务器上面安装后设置下全局的东西,Jenkins我觉得可以不装,都是自己写脚本然后Jenkins去触发这个脚本的
npm config set prefix "D:\Program Files\nodejs\node_global" //设置全局包目录
npm config set cache "D:\Program Files\nodejs\node_cache" //设置缓存目录
npm config set registry https://registry.npm.taobao.org" //设置淘宝镜像
git config --global user.name "用户名" //设置用户名
git config --global user.email "邮箱@qq.com" //设置邮箱
部署nodejs项目(hexo博客)
[*]预先在服务器安装好npm install -g hexo-cli
[*]然后确保Jenkins能够正确识别到hexo
[*]推送命令直接在publish.bat脚本执行npm install hexo clean hexo d -g
[*]不断的尝试。总会成功的
部署.net framework项目
先确保能够使用msbuild能够正常编译项目,能够正常编译,剩下的事情就简单了
使用msbuild构建.net framework项目: msbuild ./xiangmu.sln /t:Build /p:Configuration=Release
遇到问题
异常信息:C:\Program Files (x86)\Jenkins\workspace\firstpro\MeQa\MeQa.Web\MeQa.Web.csproj(308,3): error MSB4019: 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets”。请确认声明中的路径正确,且磁盘上存在该文件。
https://dn-coding-net-production-pp.qbox.me/3e603f5d-e27e-434e-8397-06d7257bbec1.png
解决问题
检查服务器目录:C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio,不出意外的话没有~,然后将本地对应的项目文件拷贝到服务器的C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio文件夹中即可 vs2012的文件夹下载地址:http://pan.baidu.com/s/1c2J8Gu8 ps:最省事的办法就是直接安装个vs2012一点问题也没有~
解决了这个问题就可以正常编译了
在Jenkins中构建mvc项目
[*]正常步骤~https://dn-coding-net-production-pp.qbox.me/eca493e9-aa76-45bb-8017-88660125990b.png
[*]我的步骤https://dn-coding-net-production-pp.qbox.me/716595bb-2b86-4763-bc70-f1edc3a93310.png
https://dn-coding-net-production-pp.qbox.me/350b2319-820c-48ab-b5ca-78614395e939.png
将构建交给脚本而不是Jenkins。Jenkins去触发这个或者这些脚本即可
在Jenkins中构建net core项目
环境ok了就是脚本的问题,core项目如果要直接发布到iis站点下,会有文件占用的问题。然后服务器不支持暂停某个战斗,故停止了iis然后开启
https://dn-coding-net-production-pp.qbox.me/fec7d060-1028-4263-853e-7b7cec5d4113.png
关于在Windows下部署core网站.基本按照以下步骤就行了
参考:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
[*]我的服务器是windows server 2012 ,.net core网站版本为1.1.2
[*]经安装好iis
[*]下载安装: .NET Core Windows Server Hosting
Microsoft Visual C++ 2015 Redistributable Update 3
https://dn-coding-net-production-pp.qbox.me/a0318ad1-a06e-413e-9412-52b30149a516.png
[*]发布.net core网站到IIS,并将应用池的.NET CLR版本修改为[无托管代码]https://dn-coding-net-production-pp.qbox.me/d0ccf5ba-0535-4832-a239-dcb1a5686ae3.png
总结
服务器上面能够手动执行构建成功,再去用Jenkins或者其他的一些集成软件就一路顺风了。
页:
[1]