windows下jenkins常见问题填坑

 没有什么高深的东西,1 2天的时间大多数人都能自己摸索出来,这里将自己遇到过的问题分享出来避免其他同学再一次挖坑.


目录

  1. 主从节点

  2. Nuget自动包还原

  3. powershell部署

  4. 内网机器实现基于变化的构建

  5. Github私有项目pull时限


  所谓主从,主要应用的场景例如多种环境(windows/linux,.net/java/php)需要不同的构建基础,而我们又不想都将一系列的步骤和环境混杂在一台构建服务器上,所以类似于go中的代理,jenkins也提供了slave节点的概念,大家可以把不同类别的项目的构建部署在分类的节点服务器上。节点服务器不需要安装完整的jenkins包,构建事件的分发由master端来执行。

这里需要注意的就是主从节点之间的通信,我这里选择是将从节点以windows service的方式启动,而我碰到的坑就是环境变量的配置问题,当我在主从服务都安装好jdk并且配置完环境变量后,发现启动从节点时还是怎么都找不到jdk,卡了半个小时才发现jenkins 从节点的环境变量是需要在web系统中配置的,此坑填平,后者慎入。

至于slave端的分配在构建配置中

 


  用.net开发的同学nuget应该大多都涉及到,类似java的maven,神器之一,不多说。如果用visual studio开发这里会有一个选项

选中这里的话 会再在你rebuild项目的时候 自动将丢失的包补齐,当然仅限于公众平台上的内容,如果是同学们自己开发的local版本的包还会遇到另外的问题,这里我们重点不计较这些。

回到jenkins上来因为jenkins的构建条件中目前还不支持直接使用.net的ide,所以我们需要安装msbuild的插件

装完以后构建后发现编译失败,各种组件丢失。这里再填一坑,首先卸载我们的主要输出项目,然后编辑项目属性内容,在最后加上一个节点配置

?
1
2
3
4
<Target Name="AfterBuild">
    <MSBuild Condition="'$(Configuration)|$(Platform)' == 'Release|x86'" Projects="NuGet\NuGet.msbuild" />
  </Target>
  <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />  

  还原项目,这样再使用msbuild命令就OK了。


  powershell的使用场景可以这样理解,在我们build通过一个项目后,我们需要将他部署在一台测试服务器上,但是我们的数据库配置需要修改,如何去除人工的干预,这里就需要使用到powershell或者其他工具了。

powershell的使用你可以分为2种,一种是写好ps脚本然后通过batch command中powershell命令来完成,另外一种是jenkins直接安装powershell命令,这里更推荐后者,因为有些时候你并没有权限上服务器上修改脚本或者其他元素,所有后者更直观简单,简单的数据库连接修改脚本

?
1
2
3
4
5
$original_file = 'xx\web.config'
$destination_file 'xx\web.config'
(Get-Content $original_file) | Foreach-Object {
    $_ -replace 'name="dbdemo" connectionstring=".+" ', 'name="dbdemo"  connectionString="server=(local);database=basedemo;user id=demoUser;password=!@#qqq" providerName="System.Data.SqlClient" '
} | Set-Content $destination_file -encoding UTF8

 

  如果我们的master机器部署在内网,github通过hook的方式回调不到,那么我们就很难基于github项目的push动作来进行基于版本的即时构建。怎么办?这里可以使用一个取巧的办法

在poll scm模式下选择* * * * *,当系统发现本地文件没有变更时,会忽略掉此次构建。


  github私有项目,主要也就是ssh授权的问题,这里的坑不是权限认证问题,而是github插件的时限问题,默认是10分钟,由于某些项目可能资源比较大,第一次pull的时候耗费时间比较长,但是控制台提示一直停留在认证那个阶段,让操作人员误以为是认证问题,这个估计也算个坑吧。填坑方法如下图:

ok 简单的填坑总结。有些问题虽然小但是一点一点排查总归还是浪费时间,希望对大家有帮助

原创作品允许转载,转载时请务必以超链接形式标明文章原始出处以及作者信息。
作者:熬夜的虫子
点击查看:博文索引

转载于:https://www.cnblogs.com/flysun0311/p/5445567.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cow Contest【最短路-floyd】

Cow Contest POJ - 3660 N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain constant skill rating that is unique among the competitors. …

【学习Android NDK开发】Type Signatures(类型签名)

类型签名&#xff08;Type Signatures&#xff09; (<Parameter 1 Type Code>[<Parameter 1 Class>];...)<Return Type Code> The JNI uses the Java VM’s representation of type signatures. Following Table shows these type signatures. Type Signatur…

Symantec(赛门铁克)非受管检测

为了查找局域网内没有安装赛门铁克客户端的IP&#xff0c;采用Symantec Endpoint Protect Manager 的非受管检测机制进行网段扫描。 非受管检测机制的原理是&#xff1a;每台电脑开机时都会向同网段电脑发arp&#xff0c;当非受管检测器接到arp请求时&#xff0c;会写入本地的a…

SQL语句性能优化操作

1、对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在where及order by涉及的列上建立索引。 2、应尽量避免在where子句中对字段进行null值判断&#xff0c;创建表时NULL是默认值&#xff0c;但大多数时候应该使用NOT NULL&#xff0c;或者使用一个特殊的值…

sql语言特殊字符处理

我们都知道SQL Server查询过程中&#xff0c;单引号“”是特殊字符&#xff0c;所以在查询的时候要转换成双单引号“”。但这只是特殊字符的一个&#xff0c;在实际项目中&#xff0c;发现对于like操作还有以下特殊字符&#xff1a;下划线“_”&#xff0c;百分号“%”&#xf…

小节

算法导论已学两部分&#xff0c;第一部分是基础知识&#xff0c;第二部分是排序。基础知识介绍如何分析证明算法以及求时间复杂度。第二部分的排序学了很长时间。先是从简单排序到复杂排序的一个过渡&#xff0c;打开了很多思路。然后就是无尽的算法分析。算法分析的时间比理解…

SPS2003升级到MOSS2007相关资料及问题总结

这几天要把客户的SPS2003门户升级到MOSS2007的&#xff0c;客户SPS2003门户&#xff0c;数据26G&#xff0c;使用了自定义WebPart、自定义页面、SSO等功能。升级过程中碰到大量问题。其中主要的问题有几个&#xff0c;在这里把它们整理一下> 1、sps2003升级时&#xff0c;升…

Milking Time【动态规划-dp】

Milking Time POJ - 3616 Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0..N-1) so that she produces as much milk as po…

HTTP首部(1)

1、报文首部 HTTP协议的请求和响应必定包含HTTP首部&#xff0c;它包括了客户端和服务端分别处理请求和响应提供所需要的信息。报文主体字儿是所需要的用户和资源的信息都在这边。  HTTP请求报文组成 方法&#xff0c;URL&#xff0c;HTTP版本&#xff0c;HTTP首部字段 HTTP响…

UVA272--TEX Quotes【字符串】

TEX Quotes UVA - 272 题目传送门 题目大意&#xff1a;将输入字符串中的所有对双引号的做双引号改为 &#xff0c;右双引号改为 。 解决方法&#xff1a;遍历一遍及时修改即可。 AC代码&#xff1a; #include <cstdio> #include <iostream> #include <…

XMLHttpRequest+WebForm模式(接口IHttpHandler)实现ajax

首先引入ajax.js文件 创建xmlhttpRequest对象 Code//创建XMLHttpRequest对象var xmlHttp;function newXMLHttpRequest() { if (window.XMLHttpRequest) { xmlHttp new XMLHttpRequest(); } else if (window.ActiveXObject) { try { xmlHttp …

UVA----10082 WERTYU【字符串】

WERTYU UVA - 10082 题目传送门 题目大意&#xff1a;按照所给的键盘样式&#xff0c;以及错误的字符串&#xff0c;输出正确的字符串&#xff0c;其输入的每一个字符都按照键盘样式向右错移了一位。 解决方法&#xff1a;将整个键盘用数组存起来&#xff0c;遍历一遍即可。…

关于C生成的汇编与C++生成的汇编在函数名称上的差异

最近用到ucos&#xff0c;这个RTOS本身是用C语言和部分汇编编写&#xff0c;而自己又打算用C来写应用&#xff0c;在其中遇到几个问题&#xff0c;一番折腾之后&#xff0c;让我更加深刻认识到了在一些一般不注意的细节上&#xff0c;C与C的不同。 1、对于ucos&#xff0c;虽…

UVA401 ​​​​​​​Palindromes【字符串】

Palindromes UVA - 401 题目传送门 题目大意&#xff1a;给你一个字符串&#xff0c;判断其是回文串还是镜像串。 AC代码&#xff1a; #include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstdlib> #…

IIS 5 与IIS 6 原理介绍

[ 转] ASP.NET Process Model之一&#xff1a;IIS 和 ASP.NET ISAPI 前几天有一个朋友在MSN上问我“ASP.NET 从最初的接收到Http request到最终生成Response的整个流程到底是怎样的&#xff1f;”我觉得这个问题涉及到IIS和ASP.NETASP.NET Runtime的处理模型的问题&#xff0c;…

UVA340 ​​​​​​​Master-Mind Hints【数组】

Master-Mind Hints UVA - 340 题目传送门 题目大意&#xff1a;先输入一个整数n&#xff0c;表示有n个数字&#xff0c;下面第一行代表正确答案&#xff0c;其下每一行代表用户猜的答案&#xff0c;需统计其有多少数字位置正确&#xff08;A&#xff09;&#xff0c;有多少数…

教你如何把自己从好友的QQ中删除

在QQ中&#xff0c;有些人看了不太顺眼&#xff0c;真不知当初为何让他加自己为好友的&#xff01; 那有什么办法&#xff0c;可以把自己从对方的QQ中删除呢&#xff1f; 其实&#xff0c;用QQ就可以轻松搞定&#xff01; 让我来为你支一招吧&#xff01; 打开QQ&#xff0…

UVA1583 Digit Generator

Digit Generator UVA - 1583 题目传送门 题目大意&#xff1a;若x的各位数之和加上x本身等于y&#xff0c;则证明x是y的生成元&#xff0c;求输入数字n的最小生成元。 AC代码&#xff1a; #include <cstdio> #include <iostream> #include <algorithm> …

C++内存详解

伟大的Bill Gates 曾经失言&#xff1a; 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序&#xff0c;往往提心吊胆。如果不想触雷&#xff0c;唯一的解决办法就是发现所有潜伏的地雷并且排除它们&#xff0c;躲是躲不了的。本文的内…

UVA1584 ​​​​​​​Circular Sequence【字符串】

Circular Sequence UVA - 1584 题目传送门 题目大意&#xff1a;输入一个环形字符串&#xff0c;需输出其最小字典序的形式的字符串。 AC代码&#xff1a; #include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #includ…