顺便做个笔记,以防以后再踩坑;笔者用的是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. Alyona and towers CodeForces - 739C (线段树)

    大意: 给定序列, 要求实现区间加, 询问整个序列最长的先增后减的区间. 线段树维护左右两端递增,递减,先增后减的长度即可, 要注意严格递增, 合并时要注意相等的情况, 要注意相加会爆int. #in ...

  2. Vue2.0学习--Vue数据通信详解

    一.前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.组件间如何传递数据就显得至关重要.本文尽可能罗列出一些常见的数据传递方式,如p ...

  3. 【图灵学院01】Java程序员开发效率工具IntelliJ IDEA使用

    1. 什么是IDEA? IDEA, Java智能IDE. 2. 为什么要使用? IDEA的优点: 1)智能选取 2)导航模式 3)历史记录 4)重构 5)编码辅助 6)智能排版,控制 7)智能代码,查 ...

  4. Python学习之路--1.0 Python概述及基本数据类型

    Python是一门解释性语言,弱类型语言 python程序的两种编写方式: 1.进入cmd控制台,输入python进入编辑模式,即可直接编写python程序 2.在.朋友文件中编写python代码,通 ...

  5. Tensorflow方法介绍

    一.reduce系列函数(维度操作) 1.tf.reduce_sum( input_tensor, axis=None, keep_dims=False, name=None, reduction_i ...

  6. Nginx01---简单使用

    基于腾讯云--ubuntu系统 1.安装nginx sudo apt-get install nginx 2.启动,停止nginx nginx -c /usr/local/nginx/conf/ngi ...

  7. Python利用百度地图api批量获取地址经纬度

    1.pip安装xlrd,xlwt,requests模块. 2.在工程目录处放置地点Excel文件. python2.7.13代码: #coding:utf-8 import xlrd import x ...

  8. ssm中实现excle导入导出

    1 pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-oox ...

  9. JavaBean简介和用法

    一.JavaBean的含义 JavaBean是使用Java语言开发的一个可重用组件,能使Html代码与JAVA代码分离,并节省开发时间,简单的说就是一个包含了setter和getter以及至少一个无参 ...

  10. Gradle 引入本地定制 jar 包

    第 1 步:创建文件夹,拷贝 jar 包 在自己的 Gradle 项目里建立一个名为 “libs” (这个名字可以自己定义,不一定非要叫这个名字)的文件夹,把自己本地的 jar 包拷贝到这个文件夹中. ...