纯粹是因为同事习惯了写C#代码,开发的网站用C#编译, 对于习惯了用Maven编译的测试人员,真是一头雾水。不用jenkins吧,效率特别低,每次收到开发发过来的版本,还要进行数据库相关配置,是非常累人的。 纠结了一番还是尝试了用jenkins 构建C#代码写的网站。

解决办法如下:

1. 问开发的编译环境,开发很多是不知道jenkins的,因为他们只在本地编译。但是会告诉你一些非常有用的信息,比如说MSBuild,nuget,VisualStudioVersion等,此时,你一定要同时问他们使用的版本号,不是最新的就是最好的,一定是相互配合最默契的版本才是合适的。开发告诉你什么版本,就严格按照说的来,不然你就掉进吭里了

2. MSbuild,那么你最好用windows版本的jenkins,因为已有一台服务器是Linux的服务器,想偷懒,在上面直接装插件编译,百度了一圈,没有这样做的。 无奈,再搭一台jenkins. 搭建过程非常简单官网上百度一下,我安装的是这个版本,非常好用,默认安装好后按帮你自动转了SVN插件。

3. 再Jenkins服务器上,需要安装如下软件:

.netframework 去百度一下并下载:NDP452-KB2901907-x86-x64-AllOS-ENU.exe

虚拟光驱工具(为了安装Visual Studio ):Windows虚拟光驱(Daemon Tools Lite)_146@472225.exe

Visual studio2013下载和安装(附资源和密钥)简书上有分享的下载地址:

nuget, 到官网下载: https://www.nuget.org/downloads  不要下最新的,下载最新的有坑

下载好后,要记得把nuget.exe放到jenkins安装目录下,否则后面在jenkins里面cmd运行时会有问题。我放在了这里

4. jenkins上需要安装的插件:

安装MSBbuild插件

配置全局工具

5. 接下来,需要得到SVN上的源码和源码目录结构

比如说我这个目录结构是这样的

6. jenkins上配置job

这样就配置好了,点【立刻构建】,会进行打包,可以到工作目录里去找到Myrelease查看输出内容

7. 接下来,可以将Myrelease下的内容压缩后,归档,可以使用7z.exe(因为可以打包成tar包,可以方便的丢到linux服务器下进行解压),在通过SSH插件将文件传输到linux或者windows机器(Linux一般默认安装好了SSH,Windows上可以安装BvSshServer-Inst.exe),还是通过下面这个插件,执行shell命令或者cmd命令,直接启动服务。

8. 另外,想通过SSH运行windows机器上的批处理文件,必须放在正确的路径下!

作者: 梅梅~

出处: https://www.cnblogs.com/keeptesting

关于作者:专注软件测试,测试运维相关工作,请多多赐教!

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 欢迎沟通交流加微信联系。 微信:yangguangkg20140901 暗号:博客园.

jenkins如何构建C#代码写的网站的更多相关文章

  1. Gitlab使用Webhook实现Push代码后的jenkins自动构建

    本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...

  2. 实战:向GitHub提交代码时触发Jenkins自动构建

    当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...

  3. Jenkins+PMD构建自动化静态代码检测

    前言:软件缺陷是不可避免的,要尽量减少错误并提高软件质量,主要有两在类技术,即缺陷预防和缺陷检测 缺陷预防包括编写更好的设计规范.实施代码审核制度.运行代码静态分析工具.运行单元测试等 PMD是一种开 ...

  4. Gitlab源码库里代码提交后,如何触发jenkins自动构建?

    版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...

  5. 基于Jenkins自动构建系统开发

    1  绪论 1.1 课题的研究背景 随着IT行业的不断发展,软件开发的复杂度也随着不断提高.与此同时,软件的开发团队也越来越庞大,而如何更好地协同整个团队进行高效准确的工作,从而确保软件开发的质量已经 ...

  6. 从零开始使用Jenkins来构建Docker容器(Ubuntu 14.04)

    当开发更新了代码,提交到Gitlab上,然后由测试人员触发Jenkins,于是一个应用的新版本就被构建了.听起来貌似很简单,duang~duang~duang,我用了是这样,你们用了也是这样,看起来这 ...

  7. 使用Jenkins来构建Docker容器

    使用Jenkins来构建Docker容器(Ubuntu 14.04) 当开发更新了代码,提交到Gitlab上,然后由测试人员触发Jenkins,于是一个应用的新版本就被构建了.听起来貌似很简单,dua ...

  8. Jenkins自动化构建配置

    写在前头 我每次修改代码一点东西,都要进行一个重新发布.重新发布的流程大概如下: 将最新代码同步上传到git上面 Maven打包 mvn clean install 将最新的jar包上传到服务器上面, ...

  9. 【最新】Android使用jenkins全自动构建打包-Windows版本(Android,Jenkins,360加固,Email,QRcode,参数构建,蒲公英)

    Android打包喝咖啡系列(Windows版) 这篇博客主要讲述的内容: 1.windows上部署Jenkins https://jenkins.io 2.基于SVN或Git https://git ...

随机推荐

  1. 【HDU1814】Peaceful Commission(2-sat+暴力染色)

    传送门 \(2-sat\)的模板题,首先得出题目中的二元关系为:对于有矛盾的\(x_i,x_j\),至多选择一个,那么连边\(x_i\rightarrow x_j',x_j\rightarrow x_ ...

  2. 【Ribbon篇四】Ribbon介绍(1)

    Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具. 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法, ...

  3. SpringMVC的Java API(五)

    1. HttpMessageConverter消息转换器 (1) HttpMessageConverter接口源码: public interface HttpMessageConverter< ...

  4. 05-01 seaborn

    1.Seaborn 在上节中我们学习了matplotlib,这节课我们来看看另一个可视化的模块seaborn,它是基于matplotlib的更高级的开源库,主要用作于数据可视化,解决了matplotl ...

  5. js json字符串与json对象互相转换(最全)

      1.json字符串转json对象 使用场景:通常在取json字符串里具体的值时,会用到. var jsonString = '{"name":"Marydon&quo ...

  6. windows xp 安装后不能能ping,浏览器不能上网

    windows xp MSDN版本 下载地址: ed2k://|file|zh-hans_windows_xp_home_with_service_pack_3_x86_cd_x14-92408.is ...

  7. html-加水印--watermark--代码测试

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. LeetCode 1293. Shortest Path in a Grid with Obstacles Elimination

    题目 非常简单的BFS 暴搜 struct Node { int x; int y; int k; int ans; Node(){} Node(int x,int y,int k,int ans) ...

  9. 用openresty(Lua)写一个获取YouTube直播状态的接口

    文章原发布于:https://www.chenxublog.com/2019/08/29/openresty-get-youtube-live-api.html 之前在QQ机器人上面加了个虚拟主播开播 ...

  10. Flask笔记:session

    session与cookie: cookie是一项浏览器的技术,而不是服务器的技术,服务器端是无法直接操作cookie的,只能通过返回Response响应告诉浏览器怎么操作cookie.而sessio ...