使用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/

在认证形式这里,最开始的时候有一点懵逼~
图片

生成密钥

设置部署公钥(id_rsa.pub文件中的值),权限可以选择是否有推送权限
将生产的密钥
生成命令:ssh-keygen -t rsa -C "your_email@example.com"
生成目录:C:\Users\用户名\.ssh (Linux下/your_home_path/.ssh/id_rsa)
图片

Git安装并配置

Git下载:https://git-scm.com/download/win
图片

发布.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博客)

  1. 预先在服务器安装好npm install -g hexo-cli
  2. 然后确保Jenkins能够正确识别到hexo
  3. 推送命令直接在publish.bat脚本执行npm install hexo clean hexo d -g
  4. 不断的尝试。总会成功的

部署.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”。请确认 声明中的路径正确,且磁盘上存在该文件。
图片

解决问题

检查服务器目录: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项目

  1. 正常步骤~
    图片
  2. 我的步骤
    图片
    图片
    将构建交给脚本而不是Jenkins。Jenkins去触发这个或者这些脚本即可

在Jenkins中构建net core项目

环境ok了就是脚本的问题,core项目如果要直接发布到iis站点下,会有文件占用的问题。然后服务器不支持暂停某个战斗,故停止了iis然后开启
图片

关于在Windows下部署core网站.基本按照以下步骤就行了
参考:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
0. 我的服务器是windows server 2012 ,.net core网站版本为1.1.2

  1. 经安装好iis
  2. 下载安装:
    .NET Core Windows Server Hosting
    Microsoft Visual C++ 2015 Redistributable Update 3
    图片
  3. 发布.net core网站到IIS,并将应用池的.NET CLR版本修改为[无托管代码]
    图片

总结

服务器上面能够手动执行构建成功,再去用Jenkins或者其他的一些集成软件就一路顺风了。

附 Linux 下安装 jenkins

java安装

sudo add-apt-repository ppa:openjdk-r/ppa
# 需要回车一下
sudo apt-get update
echo y|sudo apt-get install openjdk-8-jdk

Jenkins安装

sudo wget -q -O - http://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
 
sudo service jenkins stop 
sudo service jenkins start

posted @ 2017-08-29 19:40  易墨  阅读(876)  评论(0编辑  收藏  举报
Fork me on GitHub