基础版jenkins从搭建到使用教程

陆续使用jenkins已经有段时间了,现在简单描述一下jenkins从搭建到使用的流程。

什么是jenkins

jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。

我们做这个所实现的目的,就是让发布的过程自动化,自动的覆盖,自动的跑脚本。

准备环境:jdk1.7   tomcat7    husdom(jenkisn应用)

首先,将husdom丢入到webapps下,启动tomcat即可登入jenkins页面

这里我已经配置了相关权限了,所以会有验证这一流程

这边发布时不需要运维进行编译这个动作的,所以,我们拿到的是成熟的产品。

所以这边我们具体要做的步骤是

  1. 把svn上传的具体项目产品down到jenkins的workspace本地
  2. 在jenkins本地建立rsync服务,并且每个项目配置上对应的jenkins模块
  3. 在目标部署服务器上写上对应的rsync同步脚本
  4. 建立2台机器的互信
  5. 编写项目同步后的一系列备份,发布脚本

完善jenkins页面上的相关动作,测试是否能执行自动化发布

首先,将目标项目down到jenkins本地,这里需要获得svn的路径和登录svn的账户验证。

这样之后,构建完成之后,svn上面的指定目录就能同步到项目下了

其次,建立rsync服务

安装rsync

yum install  rsync

配置rysnc服务以及相关内容解释

vim /etc/rsync.conf

#全局参数设置:这部分设置的参数影响整个程序的运行

uid = root

gid = root

max connections = 0  #同时最大的连接数,0为不限制

pid file = /var/log/rsync/rsyncd.pid   #记录rsync运行时的进程ID

lock file = /var/log/rsync/rsync.lock  #以文件的方式锁的方式,保证rsync的一次运行

log file = /var/log/rsync/rsyncd.log   #rsync日志信息包括启动信息同步信息等

port = 873                             #可以指定rsync运行时使用的端口,默认使用873(不指定则使用默认)

use chroot = no                        #不使用chroot

#同步模块配置   标记,用于构建项目时自动增加相应配置,重要,勿删   $.module

##新增配置 开始

[wallet_demo] #指定模块,自定义

path = /root/.jenkins/workspace/wallet_demo/wallet-demo/wallet-demo-web/target/wallet-demo    #指定数据存放的路径

comment = backup data

ignore errors

read only = false #如果设置为true,则不能上传到该模块指定路径下

list = false #指定当用户查询该服务器上的可用模块时,该模块是否被列出,设定true列出,false隐藏

hosts allow = * #允许所有用户

auth users = root

secrets file = /etc/rsyncd.scrt #秘钥地址

################################################################################

启动rsync服务

/usr/bin/rsync --daemon  --config=/etc/rsyncd.conf

有时候会报pid已经存在的错误,我们只需删除该pid文件即可。错误如下

[[email protected] etc]# failed to create pid file /var/log/rsync/rsyncd.pid   #记录rsync运行时的进程ID: File exists

#################################################################################

################################################################################

客户端配置

建立密码文件

vim /opt/rsyncd.scrt

修改到755权限即可

在建立互信的基础上,从服务端向客户端执行同步命令解析

#!/bin/bash

/usr/local/bin/rsync -vlzrtogp --progress --delete [email protected]::wallet_demo /opt/tomcat/tomcat_wallet_demo50110/webapps/wallet-demo --password-file=/opt/rsyncd.scrt

-v 打印一些信息出来,比如速率,文件数量等

-l 保留软连接

-r 对子目录以递归的模式处理,主要是针对目录来说,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项

-t 保持文件的时间信息

-o 保持文件的属主信息

-g 保持文件的属组信息

-p 保持文件权限

--delete 删除那些源目录中,目标目录没有的文件

--exclude=PATTERN 指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)

--progress 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等等

--password-file 同步所需验证的秘钥文件

########################################################################################

至于客户端脚本,这里可以直接参考我的脚本就行了,这里不详细解释

建立互信,其实就是更改.ssh文件即可。自行百度

最后就是直接调用服务器后台的各种restart脚本

下面是具体实现的调用展示

把这些动作串联起来,实现了基本的jenkins发布动作

时间: 2024-10-28 11:16:15

基础版jenkins从搭建到使用教程的相关文章

【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-终端源码

[CC2530入门教程-增强版]基础技能综合实训案例(基础版)-终端源码 广东职业技术学院 欧浩源 一.关于硬件电路 关于这个综合实训案例,具体需求详见<[CC2530入门教程-增强版]基础技能综合实训案例(基础版)-题目需求>. 我自己实在"全国职业院校技能大赛--物联网技术应用赛项"的Zigbee模块上实现的.该模块的电路应该和TI公司官方评估板的推荐电路差不多,我想现在市面上很多开发板也是参考这样的电路设计,只要您使用的开发板上有LED灯.按键输入.串口输出和一路A/

PHP框架Yii2.0安装(基础版、高级版)

最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指点出来. yii2.0的安装,官方提供了两种的安装办法,一种是通过composer来安装,另外一种是通过跟yii1.0的办法直接下载安装包来安装.至于对于第一种composer的安装,农成就不做多余的说明了,这里有很好的安装教程.点击进去就可以看到了,为此农成就不在说了,下面就给大家详细讲讲第二种通

[终极精简版][图解]Nginx搭建flv mp4流媒体服务器

[终极精简版][图解]Nginx搭建flv mp4流媒体服务器 卧槽,就是被新版的jwplayer坑了,用了博主的 startparam: "start",primary: "flash" 最终搞定了,特意注册一个账号顶一下!谢谢. 花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记... 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本).我这次是用的最新版jwplayer6.8,在配

Jmeter+Ant+Jenkins框架搭建

为什么要做自动化测试 什么项目适合做自动化测试 选择UI自动化还是接口自动化 接口自动化工具对比 Jmeter+Ant+jekins框架搭建 一.为什么要做自动化测试? 假设半月迭代一次,每次迭代需要5轮测试,人工回归一次需要5个小时,最终确定一年下来,自动化为你省去600个小时,也就是75个工作日,同时也省去了测试旧功能要吐的烦恼以及人疲惫下产生的错误. 有点:提高效率.质量 自动化测试:人为驱动的测试行为转化为机器执行过程(在手工基础上) 二.什么项目适合做自动化测试? 1.什么项目适合?

centos7+docker+Jenkins+svn搭建自动化部署平台

centos7+docker+Jenkins+svn搭建自动化部署平台 1. centos7 参考链接:http://www.macrozheng.com/#/reference/linux_install tips 公司服务器配置(1T机械+256固态+i7的u) 需要我们把系统,环境(java,mysql,redis,docker等)装到固态上(速度快),我们的代码放到机械上.分区情况如下图 2. centos7中安装docker1.31.1 自行百度,此处无坑 3. centos7安装配置

内附PPT下载 | 性能为MySQL10倍!阿里云重磅推出云原生数据仓库AnalyticDB基础版

发布会PPT资料放送 ADB基础版:云原生MySQL敏捷数仓ADB for MySQL 基础版技术解密基于ADB for MySQL基础版构建实时数据仓库实践 日前,阿里云正式发布云原生数据仓库AnalyticDB基础版,极大降低了用户构建数据仓库的门槛,每月可低至860元.高度兼容MySQL,极低的使用成本和极高的性能,使中小企业也可以轻松的搭建一套实时数据仓库,实现企业数据价值在线化. 据介绍,云原生数据仓库AnalyticDB基础版采用存储计算分离架构,行列混存技术.轻量的索引构建方式和分

Windows server 2012 搭建VPN图文教程(二)配置路由和远程访问服务

Windows server 2012 搭建VPN图文教程(一)安装VPN相关服务 Windows server 2012 搭建VPN图文教程(二)配置路由和远程访问服务 Windows server 2012 搭建VPN图文教程(三)配置VPN访问账户 Windows server 2012 搭建VPN图文教程(四)客户端访问VPN测试 PartII 配置路由和远程访问服务 本部分主要介绍如何安装和配置路由及远程访问服务的方法,请参考以下操作步骤: (续上)前面提到重新启动操作系统,重启后服务

Windows server 2012 搭建VPN图文教程(三)配置VPN访问账户

Windows server 2012 搭建VPN图文教程(一)安装VPN相关服务 Windows server 2012 搭建VPN图文教程(二)配置路由和远程访问服务 Windows server 2012 搭建VPN图文教程(三)配置VPN访问账户 Windows server 2012 搭建VPN图文教程(四)客户端访问VPN测试 Part III 配置VPN访问账户 本部分主要介绍如何配置VNP相关服务以及配置VPN访问账户的方法,具体如下: 选择路由和远程访问服务器,右键,选择"属性

Windows server 2012 搭建VPN图文教程(四)客户端访问VPN测试

Windows server 2012 搭建VPN图文教程(一)安装VPN相关服务 Windows server 2012 搭建VPN图文教程(二)配置路由和远程访问服务 Windows server 2012 搭建VPN图文教程(三)配置VPN访问账户 Windows server 2012 搭建VPN图文教程(四)客户端访问VPN测试 Part IV 客户端访问VPN测试 本部分主要介绍如何通过客户端访问VPN的方法.实验客户端操作系统为windows 8,以下是客户端配置VPN的步骤: 打