使用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博客)
- 预先在服务器安装好
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”。请确认 声明中的路径正确,且磁盘上存在该文件。
解决问题
检查服务器目录:
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项目
- 正常步骤~
- 我的步骤
将构建交给脚本而不是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
- 经安装好iis
- 下载安装:
.NET Core Windows Server Hosting
Microsoft Visual C++ 2015 Redistributable Update 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
使用jenkins自部署Coding项目的更多相关文章
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 信步漫谈之Jenkins—集成自动化部署 SVN 项目
一.环境准备 1)Jenkins 部署 WAR 包:jenkins.war(2.164.2 版本,WAR 包官方下载路径:https://jenkins.io/download/)2)Tomcat 服 ...
- CentOS7安装Jenkins自动化部署maven项目
前言: 最近要弄一个jenkins工具,已经安装好了并且jenkins使用部署项目的流程已经基本走通,上图: 话不多说,开始 第一步:安装jenkins: [ 准备环境: 在centOS7环境上:安装 ...
- Jenkins进阶-部署Web项目到远程tomcat(7)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
- Jenkins自动化部署war项目
基于上一篇Jenkins安装环境,下面对自动打包部署做个备忘 1.安装:Publish over SSH 插件 2.安装完成后,进入下图配置 ↓↓↓ 3.翻到底下↓↓↓ 找到刚刚安装的Publish ...
- Linux安装Jenkins并部署springboot项目
安装步骤: 1.跳转连接https://pkg.jenkins.io/redhat-stable/下载安装包 2.安装命令: sudo rpm -ih jenkins-2.73.2-1.1.noarc ...
- Jenkins自动部署springboot项目
说明: 该示例为在windows系统下自动化部署springboot 架构: springboot + github + gradle + jdk8 各种配置步骤及截图说明: 1.配置git,grad ...
- 微服务下的持续集成-Jenkins自动化部署GitHub项目
@ 目录 一.前言 二.DevOps概念 三.为什么要做持续集成 四.常见云服务 五.手动部署Jenkins 5.1 准备工作 5.2 下载 5.3 启动 5.4 配置 5.5 Jenkins 首页 ...
- jenkins+docker部署java项目
jenkins + maven + jdk + docker + docker register + dockerfile jenkins插件 # 安装插件 SSH # 配置 系统设置-> SS ...
随机推荐
- 古韵之乞巧 题解 dp题
[noip模拟赛1]古韵之乞巧 描述 闺女求天女,更阑意未阑. 玉庭开粉席,罗袖捧金盘. 向月穿针易,临风整线难. 不知谁得巧,明旦试相看. ——祖咏<七夕> 女子乞巧,是七夕的重头戏 ...
- django xadmin查找当前用户所在组
self.request.user:获取当前登录用户用户名 qs = Group.objects.get(user=self.request.user)获取当前登录用户所在组qs.name 获取当前登 ...
- rancher的Ingress的文件大小上传限制配置
添加注释 nginx.ingress.kubernetes.io/proxy-body-size
- MAC配置VIM环境
Ruby开发环境配置 ~/.vimrc set nocompatible " be iMproved, required filetype off " required set r ...
- MySQL 的几种进入方式
对于码农一族来说,新入手电脑后,工具安装,环境搭建是为必备功课.环境搭不好工具装不全,后续的工作开展那就会有相当多的痛点,也会耗去相当多的时间和精力.近日,博主在安装 Mysql 数据库的过程中,一番 ...
- hashmap源码研究
概述 在官方文档中是这样描述HashMap的: Hash table based implementation of the Map interface. This implementation pr ...
- 无符号1byte转int
在java基本类型中byte是有正负之分,它的取值范围-128到127,有时候在网络编程里我们只需要正数,于是会约定1byte是无符号的,它的取值范围在255-0.那么我们怎么将无符号的1byte转为 ...
- ES6 学习之旅
最常用的ES6特性 1.let, const 2.class, extends, super 3.arrow function (箭头函数) 4.template string (用反引号(`)来标识 ...
- 记录mysql安装过程遇到问题
1. 远程连接授权 登陆mysql数据库 (如果安装在系统盘可以直接命令, 否则要切换到安装目录..bin/) mysql -u root -p mysql> use mysql; - ...
- contaner
what Container技术是直接将一个应用程序所需的相关程序代码.函式库.环境配置文件都打包起来建立沙盒执行环境 history 早在1982年,Unix系统内建的chroot机制也是一种Con ...