设为首页 收藏本站
查看: 1109|回复: 0

[经验分享] 基础版jenkins从搭建到使用教程

[复制链接]

尚未签到

发表于 2018-9-4 09:13:05 | 显示全部楼层 |阅读模式
  陆续使用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页面
DSC0000.png

  这里我已经配置了相关权限了,所以会有验证这一流程
  这边发布时不需要运维进行编译这个动作的,所以,我们拿到的是成熟的产品。
  所以这边我们具体要做的步骤是

  •   把svn上传的具体项目产品down到jenkins的workspace本地
  •   在jenkins本地建立rsync服务,并且每个项目配置上对应的jenkins模块
  •   在目标部署服务器上写上对应的rsync同步脚本
  •   建立2台机器的互信
  •   编写项目同步后的一系列备份,发布脚本
  完善jenkins页面上的相关动作,测试是否能执行自动化发布
  首先,将目标项目down到jenkins本地,这里需要获得svn的路径和登录svn的账户验证。
DSC0001.png

  这样之后,构建完成之后,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文件即可。错误如下
  [root@vjtest 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 root@192.168.10.13::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 同步所需验证的秘钥文件
DSC0002.png ########################################################################################

  至于客户端脚本,这里可以直接参考我的脚本就行了,这里不详细解释
  建立互信,其实就是更改.ssh文件即可。自行百度
  最后就是直接调用服务器后台的各种restart脚本
  下面是具体实现的调用展示

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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-562273-1-1.html 上篇帖子: jenkins 找不到mvn 命令 下篇帖子: Jenkins简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表