jenkins构建&发布git托管的VS工程
顺便做个笔记,以防以后再踩坑;笔者用的是jenkins-1.620和git-2.7.2-64-bit.exe,操作系统是win10(本机)
jenkins安装完成之后 如果想要配合git完成拉取代码、构建、自动发布文件、这几个需求是需要安装几个插件和相应的设置
- 点击jenkins=》系统管理=》管理插件=》可选插件,就能找到本次教程中需要的插件
- git plugin —配合git进行源码拉取的
- git client plugin —因为我用的存储库是git官网的,所以需要这个,如果是自己的git服务器则不需要
- FTP publisher plugin—构建完成后将文件通过ftp发布至站点
- MSBuild plugin —构建工具
- Publish over ftp —发布工具
- Git Parameter Plug-In—参数化构建,构建时选择分支
下面就开始配置这些插件
git

msbuild

Publish over ftp

好了下面就开始配置我们的第一个job了

Credentials没有的话点add新增(passphrase就是你生成ssh使用的那个,不然验证不会通过,ID和描述可以不填)
https://help.github.com/articles/connecting-to-github-with-ssh/ 生成ssh 教程的地址,网址比较慢

Build a Visual Studio project or solution using MSBuild

需要注意的是这个jenkins.pubxml,这个需要配合VS中的《enable Nuget Package Restore》功能<此功能在VS2015版本中不存在> ,来实现 jenkis使用的MSbuild4.0并且在生成NuGet之后需要在.config文件中添加一段固定的配置节

接下来就是构建了,这时候需要依赖Build a Visual Studio project or solution using MSBuild步骤中的jenkins.pubxml文件了(而这个文件需要手动发布一次才会出现在properties=》PublishProFiles文件夹中《手动发布文件系统的过程不再赘述,请直接百度asp.net发布》),其中 jenkins.pubxml文件还需要提交到git中,以便msbuild读取,

Send build artifacts over FTP,这个步骤不需要特别的配置,目的就是把编译过的文件发送到ftp文件服务器里,《直接对应你站点的根目录就行》

点击保存,开始构建 ,第一次构建会很慢需要从git获取文件,验证,编译,发送,请耐心等待

参数化构建和普通构建有三处需要作出修改(配合Git Parameter Plug-In)


构建的链接就会变成


日志里可以看出请求的分支

蓝色是构建成功,红色是构建失败,构建的时候可以去看console log 每一步都很详细,这里不再赘述

后记:
需要注意的是《build a visual studio project or solution using MSbuild》中的 MSBuild File 路径 和
《set build artifacts over ftp》步骤中的 source files 、 Remove prefix 路径(会发送0fies)

是jenkins 对应job下的根目录,千万不要少一节,不然会报错

jenkins构建&发布git托管的VS工程的更多相关文章
- Gitlab + Jenkins 构建,发布一个基于Go的Gin测试项目
部署Go项目简介 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 • 开发者本地环境需要将环境变量文件改为正式环境配置 • 编译成可执行文件 • 发送给运维 • ...
- jira 改变issue状态触发jenkins构建/发布
目录 jira中issue状态的改变触发Jenkins构建 jira中定制新的workflow,作为jenkins发布使用流程 大家可以参考我的这个workflow 设置workflow 使用Tran ...
- 【转】获取Jenkins构建时Git Change Log
原文:https://www.jianshu.com/p/513ab6915dbd 在基于Jenkins进行CI持续集成的工作,在构建后上传蒲公英时想将本次版本的git commit信息同步到蒲公英的 ...
- jenkins构建docker镜像上传到harbor并发布到kubernetes
很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有 ...
- jenkins 构建时显示git分支插件、显示构建分支插件
参数化构建分支 1.安装插件:Git Parameter 2.找到我们在Jenkins中建立的工程,勾选“参数化构建过程”,并如下配置 3.在“源码管理”中如下配置 Jenkins构建完显示构建用户和 ...
- 通过jenkins构建服务,并发布服务,修改Jenkins以Root用户运行
通过jenkins构建服务,并发布服务,修改Jenkins以Root用户运行 其他博文:从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布 Jenkins注册中心 一 ...
- Jenkins 构建自动化 .NET Core 发布镜像
Jenkins 构建自动化 .NET Core 发布镜像 导读 在本章中,将介绍如何在 Linux 下使用 Docker 部署.启动 Jenkins,编写脚本,自动化构建 .NET Core 应用,最 ...
- jenkins构建成功,但war包没有发布到tomcat下
如题,jenkins构建成功,在jenkins的workspace中有生成的war包,但没有发布到tomcat的webapps目录. 构建日志 找了很多原因发现应该还是项目相对路径不对导致的,我的wa ...
- Git+Jenkins+FileGee 发布php应用
Git:做版本控制,回滚版本(coding.net) Jenkins:代码下载,提供webhook url FileGee:同步代码(一个国产同步.备份软件非常强大,而且便宜企业版只要498) jen ...
随机推荐
- Django之博客系统:在网站中分享内容(一)
在models.py中添加image模型: class Image(models.Model): user=models.ForeignKey(settings.AUTH_USER_MODEL,rel ...
- How to extract pcd from a rosbag? 如何从rosbag中提取pcd
4.1 bag_to_pcd Reads a bag file, saving all ROS point cloud messages on a specified topic as PCD fil ...
- HiBench学习笔记
HiBench资源及教程:https://github.com/intel-hadoop/HiBench 介绍: Hadoop新人 环境 linux 该笔记针对英语弱鸡&自己在使用过程用遇到的 ...
- [JLOI2010]冠军调查 BZOJ2768 最小割
题目描述 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门. 新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关于切尔西能否在今 ...
- HDU - 6416 :Rikka with Seam(DP & 前缀和 & 数学)
pro:给定N*M的矩阵,现在让你在每一行删去一个位置,然后形成新N*(M-1)的矩阵,问有多少种不同的新的矩阵.需要满足相邻行删去的位置不大于K. (题目是01矩阵,其实任意矩阵都可以做,本题算法里 ...
- Problem Arrangement ZOJ - 3777(状压dp + 期望)
ZOJ - 3777 就是一个入门状压dp期望 dp[i][j] 当前状态为i,分数为j时的情况数然后看代码 有注释 #include <iostream> #include <cs ...
- 安装OFFICE2016错误代码0-1018(0)的解决方案 和激活方案
一.安装OFFICE2016错误代码0-1018(0)的解决方案 下面方法亲测有效:Step 1. Go to C:\Program Files\Common Files\microsoft shar ...
- 机器学习--最邻近规则分类KNN算法
理论学习: 3. 算法详述 3.1 步骤: 为了判断未知实例的类别,以所有已知类别的实例作为参照 选择参数K 计算未知实例与所有已知实例的距离 选 ...
- Flask&&人工智能AI -- 7 MongoDB
MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器.“$”的奇妙用法,Array Object的特殊操作,选取跳过排序,客户端操作 一.MongoDB初识 什么是MongoDB Mong ...
- django模型层 关于单表的增删改查
关于ORM MTV或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库, 通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...