linux之Jenkins自动化项目部署

CI/CD

CI (continuous integration-CI) -- 持续集成

  • 代码合并,构建,部署,测试都在一起,不断的执行的过程,并对结构反馈。

  • CD(continuous Deloyments)-- 持续交付

    • 把代码部署到测试环境,预生产环境。

  • CD(continous Delivery)-- 持续部署

    • 将最终的产品发布到生产环境,给用户使用。

  • 实现持续集成/持续发布的产品

    • 开发(git) -->git远程仓库-->jenkins(git+jdk+tomcat+maven打包+测试)-->发布到tomcat服务器

  • jenkins

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

Jenkins

Jenkins概述

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

Jenkins目标

是监控软件开发流程 快速显示问题 提高开发效率 过程控制

Jenkins特性
  • 易于安装

    • 不需要安装、不需要数据库,只需通过java -jar jenkins.war或部署到一个servlet容器中

  • 易于配置

    • 所有的配置都可能通过jenkins提供的web界面完成,当然如果你喜欢,也可以通过手动修改xml文件进行配置

  • 测试报告

    • 生成JUnit或TestNG的测试报告.集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。

  • 文件识别

    • jenkins能跟踪每次构建生成哪些jar包以及使用哪个版本的jar包

  • 分布式构建

    • 支持Jenkins能够让多台计算机一起构建/测试。

  • 插件支持

    • jenkins可以通过第三方插件扩展,也可以根据团队需要开发插件

  • 任务(Job)和构建(build)

    • 任务:(Job)是Jenkins的一个执行计划,是一系列操作的集合。 构建:是Jenkins的任务的一次运行。

  • 工作流程图

  1. 开发者检入代码到源代码仓库。

  2. CI系统会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区。

  3. CI系统会在对应的工作区内执行构建过程。

  4. (配置如果存在)构建完成后,CI系统会在一个新的构件中执行定义的一套测试。完成后触发通知(Email,RSS等等)给相关的当事人。

  5. (配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器)或存储为软件仓库中的一个新版本。软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像Java.net、 SourceForge之类的网站。

  6. CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件。 Jenkins就是这么一个CI系统。之前叫做Hudson。

Jenkins实战案例

环境

  • centos7

  • github,gitee,gitlab

  • 192.168.183.101 部署jenkins(4\6\8G)

  • 192.168.183.100充当tomcat网站服务器

  • 关闭防火墙\关闭selinux\配置了yum源(base,epel 阿里源)

1、安装相关工具

1,mave安装

要在java环境下才能用,下面有安装jdk

[root@yt ~]# wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

也可以下载好直接上传到linux中

  • 3,解压后不用安装,直接放到/usr/local/下
[root@yt ~]# tar -zxvf apache-maven-3.8.8-bin.tar.gz  -C /usr/local/
[root@yt ~]# mv /usr/local/apache-maven-3.8.8/ /usr/local/maven
  •  4,配置环境变量
[root@yt ~]# vim /etc/profile.d/jenkins_tools.sh

export M2_HOME=/usr/local/maven 
export M2=$M2_HOME/bin 
PATH=$M2:$PATH:$HOME/bin:/usr/local/git/bin 
export MAVEN_HOME=/usr/local/maven 
export PATH=${MAVEN_HOME}/bin:$PATH 
  • 5,刷新环境变量
[root@test8 ~]# source /etc/profile.d/jenkins_tools.sh
2,部署git
  • 1.安装依赖包
[root@test8 ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker fontconfig -y
  • 2.git官网下载最新版本GIT
[root@test8 ~]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

也可以下载好上传到linux中

  • 3.安装git
源码安装
[root@test8 ~]# tar xf git-2.9.5.tar.gz
[root@test8 ~]# cd git-2.9.5/

编译源码包,安装在/usr/local/git目录下
[root@test8 git-2.9.5]# make prefix=/usr/local/git all
时间会有些久!!

安装包
[root@test8 git-2.9.5]# make prefix=/usr/local/git install
  • 4,修改环境变量 -- 更新git的路径,从用户主目录下的 bin 目录 修改到 /usr/local下面
编辑/etc/bashrc文件
[root@test8 git-2.9.5]#  vi /etc/bashrc 

最下面添加:
PATH=$PATH:$HOME/bin:/usr/local/git/bin

  • 关于bashrc和profile

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

    • /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

  • 5,刷新环境变量
[root@test8 git-2.9.5]#  source /etc/bashrc
  • 6,测试是否安装成功:
[root@test8 git-2.9.5]#  git --version
git version 1.8.3.1
  • 7,如果你查询的是低版本,有可能是系统YUM安装的.yum卸载之后即可.
    [root@test8 git-2.9.5]#  yum remove git.x86_64
    [root@test8 git-2.9.5]#  source /etc/bashrc
    [root@test8 git-2.9.5]#  git --version
    git version 2.9.5</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值