持续集成/持续发布 Jenkins之git安装防坑指南

什么是持续集成/持续发布?
顾名思义

持续集成/持续发布
开发(git)git主库–>jenkins(git+jdk+tomcat+maven打包+测试)–>发布到tomcat服务器
说白点就是 通过Jenkins界面上的按钮 根据自己的需求 连接git仓库 然后发布到指定的tomacat服务器中

Jenkins概述

是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用
于持续、自动的构建/测试软件项目、监控一些定时执行的任务。Jenkins用Java语言编写,可在
Tomcat等流行的servlet容器中运行,也可独立运行。
jenkins通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT。
jenkins构建工具有Maven、Ant、Gradle。

功能就是

Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。
意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通
过给定的代码地址URL,将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发
布到web容器中。

工作流程

  1. 开发者检入代码到源代码仓库。
  2. CI系统会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区。
  3. CI系统会在对应的工作区内执行构建过程。
  4. (配置如果存在)构建完成后,CI系统会在一个新的构件中执行定义的一套测试。完成后触发通知(Email,RSS等等)给相关的当事人。
  5. (配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器)或存储为软件仓库中的一个新版本。软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像Java.net、 SourceForge之类的网站。
  6. CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件。
    Jenkins就是这么一个CI系统。之前叫做Hudson。

废话不多说 开始实战案例教程
我现有的环境三台虚拟机分别的有自己的工作
一个 创建GitHub仓库 用于存放代码
一个 部署jenkins
另一个 从当tomcat 网站服务
部署git

  1. 安装依赖包
   yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y

2.git官网下载最新版本GIT
所有安装包

解压并cd到解压目录
unzip 压缩包
进入目录
3.安装git:
解压并cd到解压目录

 tar xf git-2.9.5.tar.gz    
 cd   git-2.9.5/
 make prefix=/usr/local/git all #编译源码包
 make prefix=/usr/local/git install #源码安装

注意: 如果出现这个问题 则是 gcc没有安装
在这里插入图片描述
前方高能错误 第一次安装都有问题

    SUBDIR perl
/usr/bin/perl Makefile.PL PREFIX='/usr' INSTALL_BASE='' --localedir='/usr/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2
查看相应出错的地方,vi perl/Makefile.PL
use ExtUtils::MakeMaker;

猜测应该是缺少对应的包,安装上即可

sudo yum install perl-ExtUtils-MakeMaker

错误一:

CC credential-store.o
/bin/sh: cc: command not found
make: *** [credential-store.o] 错误 127

报这个错误的原因是没有安装gcc,需要sudo yum install gcc
错误二:

    CC credential-store.o
In file included from cache.h:4:0,
                 from credential-store.c:1:
git-compat-util.h:280:25: 致命错误:openssl/ssl.h:没有那个文件或目录
 #include <openssl/ssl.h>
                         ^
编译中断。
make: *** [credential-store.o] 错误 1

报这个错误的原因是没有安装libssl-dev,需要sudo yum install openssl-devel
错误三:

    tp.h:6:23: 致命错误:curl/curl.h:没有那个文件或目录
 #include <curl/curl.h>
                       ^
编译中断。
make: *** [http.o] 错误 1

报这个错误的原因是缺少libcurl-dev or libcurl-devel,需要sudo yum install libcurl-dev libcurl-devel
错误四:使用make prefix=/usr/local all时报错:

http-push.c:18:19: 致命错误:expat.h:没有那个文件或目录
 #include <expat.h>
                   ^
编译中断。
make: *** [http-push.o] 错误 1

报这个错误的原因是缺少expat,需要sudo yum install expat-devel
错误5

/usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] 错误 2
make: *** [perl/perl.mak] 错误 2

报这个错误的原因是缺少对应的包,需要sudo yum install perl

修改环境变量:

vim /etc/bashrc
#/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次!!!登录!!!时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. 

#/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
PATH=$PATH:$HOME/bin:/usr/local/git/bin

source /etc/bashrc

测试是否安装成功:

git --version
git version 1.8.3.1

在这里插入图片描述
安装完成
总结主要遇到的问题:可能是新的centos7 里面什么都没有,所以导致各种插件出错

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘴巴嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值