Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤
1. 开发
2. 提交
3. 编译
4. 测试
5. 发布
有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动化完成的,具体的,当你完成了提交,Jenkins会自动运行你的编译脚本,编译成功后,再运行你的测试脚本,这一步成功后,接着它会帮你把新程序发布出去,特别的,在最后一步,你可以选择手动发布,或自动发布。
一.centos下的Jenkins的安装
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum -y install jenkins
二.windows下的jenkins的安装
1. 第一种方式为安装程序的安装,直接安装Jenkins.exe(手动映射方法不成功)
2. 第二中方式可下载Jenkins.war包,在有jdk环境变量的前提下在war包所在路径下运行命令:(可手动映射端口号)java -jar jenkins.war --ajp13Port=-1 --httpPort=8081
三.启动和停止Jenkins服务
1.初次启动Jenkins服务
step1:进入到Jenkins的war包所在的目录。
如果是win7及以上版本,直接打开Jenkins的war包所在的目录,在地址栏敲cmd,回车。
上述结果和进入cmd后,用cd命令进入期望目录 是一样的。
step2:java -jar jenkins.war(调用里面的这个war包,如果你的war包名字不是Jenkins.war,请用你的war包名字,不可生搬硬套)
2.启动Jenkins服务
net start jenkins (注:如果Jenkins曾经启动过,启动服务不需要进入到某个目录)
3.停止Jenkins服务
net stop jenkins
修改jenkins端口java -jar jenkins.war --ajp13Port=-1 --httpPort=8081
修改端口号并启动服务java -jar jenkins.war --ajp13Port=-1 --httpPort=8081
四.关闭终端-使jenkins在后台继续执行
我们使用终端或者其他工具(xshell )登录到安装jenkins的服务器,
使用 java -jar jenkins.war 启动后,如果关闭终端那么运行jenkins的进程也会被关闭。
nohup命令
怎么能使jenkins在关闭终端后,还可以运行?
linux提供了一个 命令 nohup
nohup :启动一个服务, 关闭终端。
使用如下命令: nohup java -jar jenkins.war --ajp13Port=-1 --httpPort=8081(root权限下运行)
五.忘记密码时,更改jenkins密码
(http://blog.csdn.net/jlminghui/article/details/54952148)
(一)admin密码未更改情况
1.进入\Jenkins\secrets目录,打开initialAdminPassword文件,复制密码;
2.访问Jenkins页面,输入管理员admin,及刚才的密码;
3.进入后可更改其他管理员密码;
(二)admin密码更改忘记情况
1.删除Jenkins目录下config.xml文件中下面代码,并保存文件。
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
2.重启Jenkins服务;
3.进入首页>“系统管理”>“Configure Global Security”;
4.勾选“启用安全”;
5.点选“Jenkins专有用户数据库”,并点击“保存”;
6.重新点击首页>“系统管理”,发现此时出现“管理用户”;
7.点击进入展示“用户列表”;
8.点击右侧进入修改密码页面,修改后即可重新登录。
六.关于Jenkins默认编码GBK修改为utf-8的问题(部署时尚未发现Jenkins的默认编码出现乱码的问题,保险起见统一为utf-8)
https://www.cnblogs.com/gaigaige/p/6835084.html
1,进入【系统管理】->【系统设置】->全局属性:KEY: LANG; VALUE:zh.CH.UTF-8
2,修改Jenkins.xml文件
在Jenkins安装目录下找到jenkins.xml文件
(1)找到<arguments> ……</arguments>,在中间添加-Difile.encoding=utf-8
七.jenkins部署指向tomcat路径的问题,
http://blog.csdn.net/javahighness/article/details/52641694
服务器地址指向已经启动的tomcat服务器(在tomcat中配置用户权限,即添加管理员帐号
在tomcat的安装目录中,修改conf/tomcat-user.xml配置文件,在<tomcat-users>节点里添加下面的代码,用户名和密码可自定义
)
八.自动化部署时间脚本的编写(构建触发器)
http://blog.csdn.net/zzy1078689276/article/details/77520441
1. 定时构建语法:
l 第一个*表示分钟,取值0~59
l 第二个*表示小时,取值0~23
l 第三个*表示一个月的第几天,取值1~31
l 第四个*表示第几月,取值1~12
l 第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
2. 常用定时构建举例:
由于项目的代码一般存在放SVN中,而一个SVN往往是有多个项目组在提交代码,而每个项目组又有多人组成,其中每个人也都在对自己的那块代码不停地在进行维护,所以说对于一个公司而言,SVN的提交记录往往是很频繁的,正因为如此,Jenkins在执行自动化构建时往往是以天为单位来执行的,下面举的例子就是在一天中常用的定时构建示例。
1. 每隔5分钟构建一次 H/5 * * * *
2. 每两小时构建一次 H H/2 * * *
3. 每天中午下班前定时构建一次 0 12 * * *
4. 每天下午下班前定时构建一次 0 18 * * *
3. 定时构建位置
(1) Build periodically
无论SVN中数据有无变化,均执行定时化的构建任务
(2) Poll SCM
定时轮询SVN,查看SVN中是否有数据变化,如果有变化,则执行构建
九.手动导入maven包
mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0