jenkins+svn,详细的工作流程是怎样的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins+svn,详细的工作流程是怎样的相关的知识,希望对你有一定的参考价值。

参考技术A 安装插件后,进入系统设置页面,配置如下:官网上安全域设置为Servlet容器代理,实际操作发现Jenkins专有用户数据库也是可以的。二、配置权限在系统管理页面点击ManageandAssignRoles进入角色管理页面:1、管理角色(ManageRoles)选择该项可以创建全局角色、项目角色,并可以为角色分配权限。如上图,分别创建了admin、anonymous两个全局角色,OnlineProgram、test两个项目角色。项目角色与全局角色的区别就是,项目角色只能管理项目,没有管理jenkins的权限配置。添加项目角色时,需要制定匹配项目的模式,如上图中的Pattern,官方文档介绍该选项支持正则表达式,如“Roger-.”表示所有以Roger-开头的项目,“(?i)roger-.*”表示以roger-开头的项目并且不区分大小写,如以ABC开头的项目可以配置为“ABC|ABC.*”,也可以使用“abc|bcd|efg”直接匹配多个项目。2、创建用户在分配角色之前需要先创建用户。在系统管理页面,点击管理用户:点击新建使用者可以创建新用户,如果之前有项目与scm版本管理系统(如svn、git等)连接并获取源码构建过,jenkins会从svn中读取到一些用户信息,可以在查看用户菜单中看到这些用户:点击用户id或名称都可以修改用户信息。3、分配角色(AssignRoles)选择AssignRoles可以为用户分配所属角色,可以分配全局角色和项目角色。如上图,将不同的用户分别分配给不同的角色,这样用户就可以具有角色所拥有的权限。三、深入了解该插件从2011年10月发布1.1.2版本后就不再维护了,因此会有一些小问题,但不影响使用,比如在分配角色后点击保存按钮时有可能会发生异常,浏览器点击后退按钮后重新提交就可以操作成功。另外如果配置失败导致不能登录,可以通过修改配置文件恢复初始设置。首先了解一下配置文件。进入jenkins安装目录,用户配置信息和角色配置信息都以配置文件的形式存储。上图中users目录存放了各个用户的配置信息,每个用户都会创建与用户名相同的文件夹,文件夹中包含config.xml文件,配置示例如下:adminEfowsOP9H5arYxMmuFrbPjjITgu/fjtvHib5okFJ9DmPTu/088cvHxlE9RHwVv+SAllfalsefalsefalseuAEYii:02e0cd0d78abf90e42b28e7d3d4fe64776ae8fa9500e379f2598cc65e1b0fb70gaoliang@esrichina.com.cn

Jenkins详细安装与构建部署使用教程

  Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。

本文使用的Linux:Ubuntu

其中JDK、Tomcat、SVN服务器请看这里Ubuntu安装配置JDK、Tomcat、SVN服务器

一、安装Jenkins

本文直接使用war包安装

下载地址:https://jenkins-ci.org/content/thank-you-downloading-windows-installer/

技术图片

war包有两种安装方法

方法一

下载jenkins.war, 拷贝到D:JavaTooljenkins()下,然后运行java -jar jenkins.war. (注意需要先安装JDK,然后设置JAVA_HOME环境变量且将%JAVA_HOME%in加入到PATH环境变量中)

运行如下:

技术图片

访问http://localhost:8080 , jenkins的主界面如下:

技术图片

方法二

把Jenkins 1.409.1版解压,把得到的war包直接扔到tomcat下,启动tomcat,Jenkins就安装完毕,访问http://localhost:8080 

 

二、构建一个Maven项目

1、新建一个job

技术图片

2、输入名称和项目类型

技术图片

3、设置编译的版本号等信息

技术图片

4、设置svn库地址:

输入项目托管的svn的地址,如果有出现要输入账号和密码的地方,输入即可。

技术图片

如果有出现如下说明用户或密码不对:

技术图片

 

点击进去重新设置用户和密码

5、配置jdk和maven

第一次打开出现如下,点击进去。要求提示设置JDK和Maven

技术图片

点击系统管理-》系统设置,找到JDK和Maven的设置位置

选择本电脑的:

技术图片

9、到这里已经可以构造这个项目了。

点击构建

技术图片

构建输出的信息:

技术图片

构建成功输出如下 :

技术图片

10、验证

这时它已经自动把这个项目打包了一个war包,默认打包到了C:Userslinbingwen.jenkinsworkspaceJavaWebJavaWeb arget

技术图片

 

或者点击如下:

技术图片

 

三、自动远程部署到tomcat

接下来要完成自动构建成war包后,将些war包上传到远程linux的tomcat的webapps目录,更新项目的war包,并重启tomcat.

1、安装插件

系统管理-》管理插件,在可选插件里找到下面这个,然后点击直接安装命令,安装成功后要重启jenkins

技术图片

t笔者在安装插件时报错如下:

技术图片

 

这应该是天朝的墙所导致的,所以笔者就使用了手动安装的方式。

解决方法:

手动安装

到https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin,下载hpi到本地电脑到

技术图片

在系统管理--管理插件--高级--浏览-上传插件即可

技术图片

然后它自动上传并安装:

红色的是笔者在线安装不成功的,蓝色的是笔者安装成功的了,之后重启jenkis即可。

技术图片

2、配置ssh内容:
在系统管理-》系统设置里
找到Publish over SSH
然后输入:
技术图片
3、配置Post Steps
这里还是接着上面的JavaWeb项目,这个配置得安装了上面的插件后才会显示!
技术图片

其中,
Transfer SetSource files:表示要上传的本地的war包及路径,可到工作空间去看

Remove prefix:表示要上传时要去除的文件夹,即只上传war包

remote driectory:即表示执行时的路径,相当于把war包上传到这里了

exec commad:要执行的命令
 
要执行的脚本的内容:
[plain] view plain copy
 
  1. #!/bin/sh  
  2. #defined   
  3. TOMCAT_HOME="/usr/java/tomcat/apache-tomcat-7.0.67/"  
  4. ID=`ps -ef | grep java | grep tomcat|awk ‘{print $2}‘`  
  5. echo $ID   
  6. echo "kill tomcat"  
  7. kill -9 $ID  
  8. echo "remover war file"  
  9. cd "$TOMCAT_HOME"/webapps  
  10. rm -rf JavaWeb-0.0.1-SNAPSHOT  
  11. rm -rf JavaWeb-0.0.1-SNAPSHOT.war  
  12. echo "copy war to webapp"  
  13. cd /home/lin  
  14. cp JavaWeb-0.0.1-SNAPSHOT.war "$TOMCAT_HOME"/webapps  
  15. cd "$TOMCAT_HOME"/bin  
  16. echo "start tomcat"  
  17. ./startup.sh  
步骤:
先停掉tomcat
删除webapp下对应的war包
复制war到webapps
重启tomcat

 
4、构建部署
点击项目的构建按钮,最终出现如下:
 
技术图片
在linux上打开浏览器,输入http://localhost:8080/JavaWeb-0.0.1-SNAPSHOT/
技术图片
 

注意:这里配置的ssh用户:lin要有root的权限,要不可以会报错没有权限执行kill 或rm 命令

 

本文使用的Linux:Ubuntu14.04

其中JDK、Tomcat、SVN服务器请看这里Ubuntu安装配置JDK、Tomcat、SVN服务器

原文地址:https://www.cnblogs.com/wishlix/p/7998957.html



















以上是关于jenkins+svn,详细的工作流程是怎样的的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins详细安装与构建部署使用教程(转)

使用 SVN 在 Jenkins 中构建多个分支

jenkins--svn+添加钩子去触发jenkins的job工作

Jenkins+svn+ant+tomcat持续集成

Jenkins部署+svn

Jenkins+SVN+Maven持续集成一键部署环境