Jenkins实战案例

1、CICD

CICD:持续集成

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

CD:持续交付,持续部署

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

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

2、Jenkins实战案例搭建环境

  • centos7

  • github,gitee,gitlab

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

  • 192.168.229.21充当tomcat网站服务器

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

1、安装相关工具 

JDK

Jenkins是Java编写的,所以需要先安装JDK,采用yum安装,也可自己编译安装。如果对版本有需求,可以直接在Oracle官网下载JDK;本次实战使用的jdk是后续的编译安装

mave安装

  • 官网Maven – Welcome to Apache Mavenicon-default.png?t=O83Ahttps://maven.apache.org/

  • 下载 maven3.8.8 包

  • 配置环境变量

    • 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

  • 生效

    • source /etc/profile.d/jenkins_tools.sh

  • 测试

    • mvn -version     出现版本号即成功(此时肯定是未找到命令,因为我们还没有配置jdk)

    • [root@localhost ~]# mvn -version
      -bash: mvn: 未找到命令
    • 如果自己之前配过jdk则可以出现版本号

    • Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
      Maven home: /usr/local/maven
      Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
      Default locale: zh_CN, platform encoding: UTF-8
      OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

 部署git

  1.安装依赖包

# yum install curl-devel expat-devel gettext-devel 
openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker  
fontconfig  -y
  • 2.git官网下载最新版本GIT

    • wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

    • 3.安装git:

    • 解压并cd到解压目录

      # tar xf git-2.9.5.tar.gz
      # cd git-2.9.5/
      • 编译源码包,安装在/usr/local/git目录下

      • # make prefix=/usr/local/git all
      •  源码安装

      • # ​make prefix=/usr/local/git install
      • 修改环境变量

        • # vim /etc/bashrc 
          PATH=$PATH:$HOME/bin:/usr/local/git/bin
        • 更新git的路径,从用户主目录下的 bin 目录 修改到 /usr/local下面

        • 关于bashrc和profile

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

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

      • # source /etc/bashrc
      • 测试是否安装成功:

      • # git --version
        git version 1.8.3.1

        如果你查询的是低版本,有可能是系统YUM安装的.yum卸载之后即可.

      • # yum remove git.x86_64
        # source /etc/bashrc
        # git --version
        git version 2.9.5

2、安装Jenkins

        1、上传 jdk11     tomcat9

        2、解压jdk  

[root@jenkins ~]# tar xf jdk-11.0.16_linux-x64_bin.tar.gz

        3、 解压tomcat

[root@jenkins ~]# tar xf apache-tomcat-9.0.79.tar.gz

        4、 拷贝并修改名称

[root@jenkins ~]# mv jdk-11.0.16 /usr/local/java && 
mv apache-tomcat-9.0.79 /usr/local/tomcat

        5、 处理环境变量

[root@jenkins ~]# vim /etc/profile.d/java.sh
TOMCAT_HOME=/usr/local/tomcat
JAVA_HOME=/usr/local/java
PATH=$TOMCAT_HOME/bin:$JAVA_HOME/bin:$PATH
export    TOMCAT_HOME   JAVA_HOME   PATH
[root@jenkins ~]# source /etc/profile.d/java.sh

         查看版本号

# java -version
java version "11.0.16" 2022-07-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.16+11-LTS-199)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16+11-LTS-199, mixed mode)
[root@web ~]# mvn --version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /usr/local/maven
Java version: 11.0.16, vendor: Oracle Corporation, runtime: /usr/local/java
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

         6、上传jenkins

                     官网下载jenkins:   jenkins.warDownload previous versions of jenkins.waricon-default.png?t=O83Ahttp://updates.jenkins-ci.org/download/war/

               7、 下载2.422,上传至服务器(我这里用的是2.422 )

[root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/*
[root@jenkins ~]# cp jenkins.war /usr/local/tomcat/webapps/

                8、启动tomcat,并页面访问:(ip:8080/jenkins)

[root@jenkins ~]# /usr/local/tomcat/bin/startup.sh

         

3、前台配置jenkins

        0.加载中

        

        1、解锁Jenkins:为了安全考虑,首先需要解锁Jenkins

         2、添入以下文件密码到上图页面中

# cat /root/.jenkins/secrets/initialAdminPassword
07af1055d4644cb7884c855043b82e3d

        注意看自己的。不要复制我的

         3、点击继续

 

         4、选择suggested的插件进行下载

 

        5、等待安装完成。(科学上网更方便)

        6、如果不会科学上网,可能会因为网速问题,插件可能下载失败,没关系,把他们记录下来,比如下图的两个插件,点击继续,进去之后手动重新安装未安装好的插件

        也可以重试,继续下载安装。

        如果大量组件,重试多次依然未安装成功.请尝试如下方法

         jenkins 插件安装缓慢问题

vim ~/.jenkins/hudson.model.UpdateCenter.xml

 <url>http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>



vim ~/.jenkins/updates/default.json
    替换命令
% s/www.google.com/www.baidu.com/g
% s/updates.jenkins.io\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g
    
旧版: http://updates.jenkins-ci.org/download 替换成 https://mirrors.tuna.tsinghua.edu.cn/jenkins 
新版:https://updates.jenkins.io/download 替换成 https://mirrors.tuna.tsinghua.edu.cn/jenkins 
    
修改完以后,重启Jenkins服务再输入密码,继续安装,速度贼快。
    http://192.168.229.11:8080/jenkins/restart
    重启tomcat

         7.创建用户

         8.前台安装完成

         如果这个页面过一会消失了。并且常时间空白。可能需要你登录了。换个浏览器,打开相同的地址就会出现认证页面。

        欢迎界面

4、系统配置

        1,Manage Jenkins

         这些都是警告,不影响我们使用

        全局变量设置  

 

        下边这个键值对可以用命令查找  

# echo $JAVA_HOME
# echo $MAVEN_HOME

 5、全局工具配置

 maven配置  

        /usr/local/maven/conf/settings.xml

 添加JDK工具

 点击新增---> 取消自动安装 ---->然后查询Jenkins服务器上JDK的路径,填写JAVA_HOME ---> 保 存即可

 添加git工具

去安装git的路径里可以找到的/usr/local/git/bin/git

添加maven工具  

SSH 设置  

目的:

(192.168.229.11)jinkens服务器上的maven将开发产生的*.war包。 通过SSH自动推送到远程tomcat 服务器上(192.168.229.21)。 需要手工配置ssh key。配合自动化推送

192.168.229.11是jenkins

192.168.229.21是tomcat网站服务器,代表业务服务器

1.jenkins服务器准备秘钥认证
# ssh-keygen

一路回车

ssh-copy-id -i 192.168.229.21

注意这里的192.168.229.21是一台tomcat网站服务器。什么都不用安装,接到代码即可。
 

# ssh 192.168.229.21 登录不需要密码即可

# exit 切记测试远程登录后退出!!!
2.在jenkins上配置ssh信息

准备SSH私钥

[root@localhost ~]# cat ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA9ttRxXiVoxkgTvp+qZUmBsz4iAzBPeLwVDZlP8h2zSh95tS7
2Tc3PLeb16He8MH1Xl1NCl8q76PdqGKm+YWnhDZ5RMAd7N+kE5lbhg+LG/LhsMGm
vqhkcPwcKiGihb/yMBtNdB6Rdch3+DAsgIQ7Mq/CnlSBxEss+6QEzRybVl6k1I4G
h2V9OebWJqfueWg1yZrw35ZFlfQ9e5g8yHLgEbM8v/AVYEj+8hHdMYsKHTdm4Re/
WFFz+ngiqx2NjDvDygVyY0bgs7oWAwfO4X77aC6onUBnLMxfUpRwq4U3XFhBClOL
yqV5q6wiT/StCGvS087GTluGlZ8bylXLKNYUIwIDAQABAoIBAGfGlZ69bbKuGm35
Uow6Hk1Xl9eh/Q7mO4A7id8BiCgBMMR8hCfx1W/aBFLnQtDVyTANaxjEH0m1CrcC
Gg3lySGEwQBM/4eYEOMIYnh+Sk3KkmR7VHzsT6VL5w8zKp6trcPZhnsdaqsoRn74
yYyRik1ppBhpkFAUBmoXbslHkGoC9kfNs783SJhw6UeVgJ5eLIkDzTYBLgV7EtXI
      5DpYkLg4Skzw1Q1VK70yXN4Wh25PdhWEb0hHTjbHaMq4OdjRzYsIGCTFX/o57HV/
KG1uW4ubbrMj87yi6wcTlPpArViJHk5YzKGVqbgIJfRjbdYEvJ2AeI+UhtAehsqk
      235qyjECgYEA/vdRH7FfVg7nuXduBIpA6XTDQ9DkSwZaGqCTyPAvuwPoM+0U7gKh
O0XJQAk8010sPbc77NRolOTzWZGIsQTR/iUi5PhuD6PCL6/ozmPHJab5WqkCj/Fw
      89mxOAyx9m7wZuzNawtagNsY5baLRtEv+3yV68GA46XSblnxs9GdQskCgYEA99uV
iBjVDBpzyuI2cjDzena3rDkSX0wRZ0z5rIEbSDT8bzfBUCyVPFfKtWeufcTzYRdm
      dW6d1cg5JP7GOUxnYXOV8t38oTtJtUmjPo4jiYGMxnRxz65wouEu2z0f4MXyuGZv
qRCFAY1LRXowAFqvqIavIRMvhfMMa6RMbs1ryYsCgYBPoAcqwacHZkJB7qViL5cU
      EY4FuNADCinLlQhyQWh2nELBLLJTnmih7SproDbpv3hYkcfaL3+1uEazWzr4JYw7
      NXfPUDJ3GepEIEixZAHGpX3MLWoKcBmZXgv1eCl/z6euTRfd7T7HbSU6YCbg5+V3
      QbJEXTsWXSv5oIdWZAkb2QKBgEx7fs3rU7qTYw3E9iYQguFURuMnDUtIzsoAj76y
      bDfA2fB71PQnfbmMIaoOn2KB5tQcA2rTQnMYgMGwuHwv3mrM3wV9iJo8EEeXvH7u
      H3sr9cO7ZO9AFdO9BtdyKicTDg3m1ifmSBStg/+hb7R8R14KiXn8UJrV4AxLO6ap
      Tsx3AoGBAMv0D3KtubEZaaG+Bmuydot1lnchLuVmx0H81ZKA0daxlGFZ7kvZ5GR+
      qa9xYpEIJ4yr+d9QjUhMPQb+hPytOjMJ09lfAnqsuH5mNAUvAwMzgfT2D1gneYnQ
      0qFz59Ru9f7G1AM5VTjYORr0SauppWgeowWxB5MPGhWiOtGpVvyO
      -----END RSA PRIVATE KEY-----
      
  [root@localhost ~]# 

 你无法完成下面操作,因为ssh的插件没有安装!!!!!(一会儿会安装插件)

进入jenkins系统设置,复制cat出来的所有内容,粘贴到下一步页面上的key中。

 

 

6、插件管理

安装插件  

        (1)Maven Integration plugin 安装此插件才能构建maven项目  

         (2)Deploy to container Plugin 安装此插件,才能将打好的包部署到tomcat上

        (3) 安装git相关3个插件

       1. GitHub Authentication插件

        2.GitHub Branch Source插件默认已安装

        3.GitHub Organization Folder插件淘汰了。不用安装这个插件了

        (4)安装插件:Publish Over SSH

回到上面。系统配置刚才给你加!!!的地方,配置ssh的秘钥

        (5)优化maven:如果不会科学上网就需要这一步

配置国内maven镜像

vim /usr/local/maven/conf/settings.xml

 <mirror>
      <id>central</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

         

7、Jenkins+Maven+Github+Tomcat 自动化构建打包、部署

        创建一个Maven工程

         1.构建maven项目

 

         2.源码管理

选择版本控制器和仓库地址

互联网仓库1 -----> https://github.com/bingyue/easy-springmvc-maven.git

互联网仓库2---->  easy-springmvc-maven: jenkins 测试icon-default.png?t=O83Ahttps://gitee.com/newrain001/easy-springmvc-maven.git easy-springmvc-maven: 测试jenkinsicon-default.png?t=O83Ahttps://gitee.com/chenfuguo1949/easy-springmvc-maven.git

 如果有图中的提示,请注意你的git工具在jenkins中是否配置正确

注意:如果是私有仓库,这里需要建立credentials身份认证

         3.设置触发器(保持默认)

4.设置构建(编译打包)

 手动添加Goals and options

        clean package -Dmaven.test.skip=true

         5.构建后操作

在构建后设置中 选择:(send build artifacts over ssh)通过SSH发送构建工件

 

说明 :

        name :ssh server 因为之前的配置会默认出现tomcat业务服务器的名字

        source file:target/*.war-------》(构建之后,在jenkins服务器上是可以自动看到war包的。(该路径不需要创建) # ls  /root/.jenkins/jobs/testjob1/builds/target/*.war)

       Remove prefix:自动删除路径前缀(不需要创建路径前缀)

       Remote directory:

tomcat业务服务器上的路径,需要提前在192.168.229.21(tomcat)上创建该目录。 用来存放网站源代码。(需要后台创建) # mkdir -p /jenkins/war

        Exec command:

tomcat(192.168.229.21)在接收到源码之后的自定义动作。
比如:将源码拷贝到网站的主目录(/jenkins),
并执行一些其他操作如重启服务器等(或创建文件touch)(需要后台创建)
#mkdir  /jenkins/sh
# cat  /jenkins/sh/deploy.sh
cp -r /jenkins/war/*.war   /jenkins
touch /tmp/aaaaaa.txt
#chmod +x /jenkins/sh/deploy.sh

        6.保存即可

执行构建

            查看构建结果

   成功!!!!        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值