用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 命令去掉这个环境变量就可以了 ...
随机推荐
- java程序调用CMD命令启动tomcat替换环境变量
出现问题: 此时不应有 Files\Java\jdk1.8.0_92\bin\java.exe""(本地未出现问题,服务器环境出现) 出现原因: 1:环境变量JAVA_HOME配置 ...
- 2.App Inventor 2编程流程
一.Chrome浏览器打开App Inventor 2编程网站注册登陆: 可选: A. http://ai2.appinventor.mit.edu/ 网速 ...
- asp.net core重新加载应用配置
asp.net core重新加载应用配置 Intro 我把配置放在了数据库或者是Redis里,配置需要修改的时候我要直接修改数据库,然后调用一个接口去重新加载应用配置,于是就尝试写一个运行时重新加载配 ...
- ubuntu安装mysql没有让我设置密码
终端输入: sudo cat /etc/mysql/debian.cnf显示内容:# Automatically generated for Debian scripts. DO NOT TOUCH! ...
- Python-将json文件写入ES数据库
1.安装Elasticsearch数据库 PS:在此之前需首先安装Java SE环境 下载elasticsearch-6.5.2版本,进入/elasticsearch-6.5.2/bin目录,双击执行 ...
- Agent Job代理 执行SSIS Package
摘要: 在使用Agent Job时, 运行SSIS包的Run as账号,必须有SSIS中connection manager的连接权限. 如果没有连接权限,可以用创建proxy账号,并确保proxy账 ...
- SQLServer之集合
集合的定义 集合是由一个或多个元素构成的整体,在SQLServer中的表就代表着事实集合,而其中的查询就是在集合的基础上生成的结果集.SQL Server的集合包括交集(INTERSECT).并集(U ...
- equals方法和==的区别--用实例简单说明
首先我们创建一个类 public class People { private String name; private String address; public String getName() ...
- Codeforces Round #539 (Div. 2) - D. Sasha and One More Name(思维)
Problem Codeforces Round #539 (Div. 2) - D. Sasha and One More Name Time Limit: 1000 mSec Problem ...
- Java 10 var关键字详解和示例教程
在本文中,我将通过示例介绍新的Java SE 10特性——“var”类型.你将学习如何在代码中正确使用它,以及在什么情况下不能使用它. 介绍 Java 10引入了一个闪亮的新功能:局部变量类型推断.对 ...