顺便做个笔记,以防以后再踩坑;笔者用的是jenkins-1.620和git-2.7.2-64-bit.exe,操作系统是win10(本机)

  1. jenkins安装完成之后 如果想要配合git完成拉取代码、构建、自动发布文件、这几个需求是需要安装几个插件和相应的设置

  2. 点击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文件中添加一段固定的配置节

<packageRestore>
    <add key="enabled" value =" True" />
    <add key="automatic" value= "True " />
  </packageRestore>
  <activePackageSource>
    <add key="Microsoft and .NET" value="https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/" />
  </activePackageSource>
  <packageSources>
    <add key="nuget.org" value= "https://www.nuget.org/api/v2/ " />
  </packageSources>

接下来就是构建了,这时候需要依赖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工程的更多相关文章

  1. Gitlab + Jenkins 构建,发布一个基于Go的Gin测试项目

    部署Go项目简介 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 • 开发者本地环境需要将环境变量文件改为正式环境配置 • 编译成可执行文件 • 发送给运维 • ...

  2. jira 改变issue状态触发jenkins构建/发布

    目录 jira中issue状态的改变触发Jenkins构建 jira中定制新的workflow,作为jenkins发布使用流程 大家可以参考我的这个workflow 设置workflow 使用Tran ...

  3. 【转】获取Jenkins构建时Git Change Log

    原文:https://www.jianshu.com/p/513ab6915dbd 在基于Jenkins进行CI持续集成的工作,在构建后上传蒲公英时想将本次版本的git commit信息同步到蒲公英的 ...

  4. jenkins构建docker镜像上传到harbor并发布到kubernetes

    很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有 ...

  5. jenkins 构建时显示git分支插件、显示构建分支插件

    参数化构建分支 1.安装插件:Git Parameter 2.找到我们在Jenkins中建立的工程,勾选“参数化构建过程”,并如下配置 3.在“源码管理”中如下配置 Jenkins构建完显示构建用户和 ...

  6. 通过jenkins构建服务,并发布服务,修改Jenkins以Root用户运行

    通过jenkins构建服务,并发布服务,修改Jenkins以Root用户运行 其他博文:从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布 Jenkins注册中心 一 ...

  7. Jenkins 构建自动化 .NET Core 发布镜像

    Jenkins 构建自动化 .NET Core 发布镜像 导读 在本章中,将介绍如何在 Linux 下使用 Docker 部署.启动 Jenkins,编写脚本,自动化构建 .NET Core 应用,最 ...

  8. jenkins构建成功,但war包没有发布到tomcat下

    如题,jenkins构建成功,在jenkins的workspace中有生成的war包,但没有发布到tomcat的webapps目录. 构建日志 找了很多原因发现应该还是项目相对路径不对导致的,我的wa ...

  9. Git+Jenkins+FileGee 发布php应用

    Git:做版本控制,回滚版本(coding.net) Jenkins:代码下载,提供webhook url FileGee:同步代码(一个国产同步.备份软件非常强大,而且便宜企业版只要498) jen ...

随机推荐

  1. ubuntu - 14.04,安装rpm程序!!

    一,安装rpm转deb的工具“alien”:在软件中心里面输入“alien”,看是否已经安装,如果没有安装则直接安装. 二,把rpm转换为deb:在shell里输入“sudo alien --scri ...

  2. Serialization之BinaryFormatter

    前言 BinaryFormatter序列化二进制序列化使用二进制编码来生成精简的序列化,以用于存储或基于套接字的网络流等. 内容 下面通过一个小小的例子来给大家说明什么是BinaryFormatter ...

  3. 【转】oracle远程导入数据库

    源地址:http://blog.chinaunix.net/uid-20980141-id-447996.html

  4. django 基础框架学习 (二)

    Django框架基础-02 Django缓存cookie 1.说明        当我们服务器在响应数据的同时,希望写⼊⼀些缓存数据到客户端        我们可以选择在响应的同时,将要写⼊到客户端的 ...

  5. Bash Shell 小试牛刀

    一.终端打印 [root@cai ~]# echo welcome to bash! welcome to bash! [cairui@cai ~]$ echo 'welcome to bash!' ...

  6. 状压DP【洛谷P1879】 [USACO06NOV]玉米田Corn Fields

    P1879 [USACO06NOV]玉米田Corn Fields 农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形 ...

  7. php暂停函数sleep()和usleep的区别

    在PHP中暂停代码执行一定时间,有两个函数可以实现,一个是sleep(),另一个是usleep(),它们参数都是一个整数值.sleep()是暂停多少秒,usleep()是暂停多少微秒. 注意:usle ...

  8. wordpress显示FTP上传

    在开始添加的配置文件里添加以下内容 define("FS_METHOD","direct"); define("FS_CHMOD_DIR", ...

  9. 3. mybatis # 与 $ 的区别

    mybatis # 与 $ 的区别 1.# % 号必须写在test中 应用场景:模糊查询 配置文档mapper.xml <select id="selectBlogByTitle&qu ...

  10. PHP常用设计模式汇总

    装饰模式: <?php abstract class Tile { abstract function getWealthFactor(); } class Plains extends Til ...