用Jenkins搭建自动构建服务
Jenkins是BS跨平台构建工具,之前名为Hundson。wiki 【chs en】 最新windows安装包:下载




下文以1.593版本为例,讲述Jenkins的Windows版本的一些要注意的地方
安装
安装路径中不要出现中文或者空格
用户数据相关的目录结构
├─Jenkins
├─jobs
├─workspace
└─users
若没有设置JENKINS_HOME环境变量,用户数据会保存到C:\Users\%username%\.jenkins目录中
建议设置JENKINS_HOME环境变量为Jenkins所在目录中,使得用户数据和软件保存在同一个目录中
运行

由于windows服务是在后台运行的,由于安装限制,服务的权限比较低,在执行某些操作时(如创建D3D设备)会失败;而且所有窗口都不允许弹出来
不过,可以勾选“允许服务与桌面交互”来将窗口显示到后台桌面中

因此,建议将该windows服务停止,使用前台启动进程的方式来使用Jenkins
D:\Jenkins\jre\bin\java.exe -jar D:\Jenkins\jenkins.war
注1:使用系统的Java.exe会引发Jenkins内存占用特别高,因此需用Jenkins自带的Java.exe来启动Jenkins
注2:默认会使用8080端口拉起Jenkins的web服务器,若端口被占用,可以通过带上--httpPort参数来指定新的端口号
如:D:\Jenkins\jre\bin\java.exe -jar D:\Jenkins\jenkins.war --httpPort=8081
windows服务好处是:按下电源,在windows登录界面(未登录时),就会被系统运行起来
将拉起bat脚本的快捷方式放到系统的启动文件夹(%appdata%\Microsoft\Windows\Start Menu\Programs\Startup)中,使得开机自启动Jenkins

直接自启动会出现Jenkins的命令行窗口,容易被手误关掉。可以借助cmdow.exe工具来隐藏启动拉起bat脚本

具体方法:在系统的启动文件夹下,新建一个名为StartJenkinsNoWindow的快捷方式,然后在属性的目标处填写:
D:\Tools\cmdow.exe /RUN /HID "D:\Jenkins\StartNotAsService\Start.bat"
最后,在浏览器中输入:http://<机器名>.<域名>:8080就可以访问Jenkins的首页了 // 机器名和域名都可以在系统对话框中看到
当然直接用IP地址也是可以的
配置用户
Jenkins安装完成后是没有账户的,任何人都有无限大的权利,这里需要配置用户权限
首页上点击系统管理->Configure Global Security,勾选启用安全
在安全域中勾选Jenkins专有用户数据库并且允许用户注册
在授权策略中,选择安全矩阵,然后把匿名用户勾选只留下Read比较合适
在添加用户/组这里可以为安全矩阵增加新的用户组,这里最好先设置一个管理员组比如admin,并勾选全部安全矩阵,然后保存。


这时在右上角会有登录和注册,不登录就是匿名用户,登录需要用户名和密码,这里需要注册
注册用的用户名是刚才建立的用户组的名字,而全名是显示用的,登录也是用户名登录而不是全名。
创建任务
登录用户后,点击“新建”就可创建一个构建任务,一般选择“构建一个自由风格的软件项目”类型


点击OK,进入更详细的配置页面,在构建块处增加一个构建步骤:设置要执行的脚本。如下:

参考
Execute windows batch command from Jenkins fails but runs fine in cmd.exe
Jenkins won't execute correctly a command from a .bat
Jenkins : Selenium GUI tests are not visible on Windows
selenium2 run in Jenkins GUI testing not visible or browser not open but run in background浏览器后台运行不可见
How can I run a windows batch file but hide the command window?
用Jenkins搭建自动构建服务的更多相关文章
- 使用Hudson搭建自动构建服务器
环境: ubuntu1404_x64 说明: 使用hudson和git搭建自动构建服务器的简单示例 安装hudson及相关插件 安装hudson 安装命令如下: sudo sh -c "ec ...
- GitHub搭配使用Travis CI 进行自动构建服务
Travis CI (Continuous Integration)持续集成服务 用处:自动监控软件仓库,可以在代码提交后立刻执行自动测试或构建 1.在Github自己的仓库根目录里添加.travis ...
- Docker+Jenkins+Gogs 自动构建.Net Core
Docker+Jenkins+Gogs 自动构建.Net Core 引言 jenkins+gags 全部采用Docker安装,通过jenkins插件ssh调用外部Docker构建 主要实现功能: gi ...
- tomcat+svn+maven+jenkins实现自动构建
首先说明一个各软件的版本: tomcat:apache-tomcat-8.5.16.tar.gz maven:apache-maven-3.5.0-bin.tar.gz svn:subversion- ...
- 利用jenkins实现自动构建、部署,提升团队开发效率
一大早就被群里的同学刷银川下雪的消息,看着我都发冷,突觉一阵凉风裹身,是不是该考虑秋裤了. 偏离主题,正文走起...... 使用jenkins目标:利用其结合maven完成自动构建,并部署到tomca ...
- 新手避坑 -- 用 Jenkins +miniprogram-ci 自动构建微信小程序
先看看效果: 要实现这样的效果,需要下面3步: 1.下载 node 依赖包 miniprogram-ci,编写预览和上传功能 2. 登录微信公众平台, 下载项目的privateKey+添加代码上传IP ...
- .net 基于Jenkins的自动构建系统开发
先让我给描述一下怎么叫一个自动构建或者说是持续集成 : 就拿一个B/S系统的合作开发来说,在用SVN版本控制的情况下,每个人完成自己代码的编写,阶段性提交代码,然后测试-修改,最后到所有代码完工,进行 ...
- 一、Jenkins 安装(自动构建发布)
war 包方式安装 官方下载地址:https://jenkins.io/download/ ,下载war包,并上传到服务器(案例中是把war包放在了 /usr/local/jenkins 里面) 运行 ...
- linux 搭建 jenkins 前端自动构建时,老是提示 sh: vue-cli-service: command not found
如题. 在 shell 里面执行 env 发现一个 NODE_ENV=production 的环境变量,是这个东西的原因. 通过 unset NODE_ENV 命令去掉这个环境变量就可以了 ...
随机推荐
- asp.net core 系列之webapi集成Dapper的简单操作教程
Dapper也是是一种ORM框架 这里记录下,使用ASP.NET 集成 Dapper 的过程,方便自己查看 至于Dapper的特性以及操作可以参考Dapper官方文档 1.创建数据库相关 在Sql S ...
- OAuth2.0记录
阮一峰老师讲解OAuth2.0 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 举例详解: https://www.cnblogs.com/ ...
- Exchange Server 内部版本号和发行日期汇总
本章节对Exchange 各个主要发行版进行简单汇总,分别列出每个服务包 (SP) 的内部版本号.累积更新 (CU) 或特定 Exchange 版本的更新汇总 (RU).汇总内容适用于Exchange ...
- Spring的PropertyPlaceholderConfigurer强制使用默认值的坑
1.问题 dubbo client配置: <dubbo:reference id="channelCustomerClient" interface="com.gt ...
- Java实现发送手机验证码功能(短信+语音)
利用第三方平台可以实现发送手机短信验证码和语音验证码的功能,本文使用框架是struts2+spring+hibernate,现就action层给出核心代码功能. public class Verify ...
- java配置环境及安装
1.安装JDK开发环境 首先登陆https://www.oracle.com 第一步:Products ---- Java ---- Download java(JDK) for Developers ...
- sklearn中的Pipeline
在将sklearn中的模型持久化时,使用sklearn.pipeline.Pipeline(steps, memory=None)将各个步骤串联起来可以很方便地保存模型. 例如,首先对数据进行了PCA ...
- Postman Mock Server
为了不影响前端开发的进度,一般后端都是先定数据结构,然后写个假接口让前端调用,这样前端就不必等着后端接口开发完成以后再开始了.届时,前后端以及UI和测试就可以并行,待双方都把各自的逻辑写好了,便可以联 ...
- 我的2018OKR年终回顾与2019OKR初步规划
转眼一年又过去了,在这个年底的时候,按照国际惯例,又到了重新回顾审视一下这一年来的得失,规划一下明年的奋斗方向的时候了.因此,我继续使用OKR来给自己做Review和Planning,也希望自己能够保 ...
- java 并发多线程 锁的分类概念介绍 多线程下篇(二)
接下来对锁的概念再次进行深入的介绍 之前反复的提到锁,通常的理解就是,锁---互斥---同步---阻塞 其实这是常用的独占锁(排它锁)的概念,也是一种简单粗暴的解决方案 抗战电影中,经常出现为了阻止日 ...