zoukankan      html  css  js  c++  java
  • Docker: Jenkins与Docker的自动化CI/CD流水线实战

    什么是CI/CD

    持续集成(Continuous Integration,CI):代码合并、构建、部署、测试都在一起,不断地执行这个过程,并对结果反馈。
    持续部署(Continuous Deployment,CD):部署到测试环境、预生产环境、生产环境。
    持续交付(Continuous Delivery,CD):将最终产品发布到生产环境,给用户使用。


    高效的CI/CD环境可以获得:
    • 及时发现问题
    • 大幅度减少故障率
    • 加快迭代速度
    • 减少时间成本

    接下来是实战:

    环境说明:

    192.168.1.30 上面安装 docker, harbor,git (上面已经安装好了 docker, harbor,)

    192.168.1.40 上面安装 docker, jenkins,

    步骤从这里开始:

    1. 192.168.1.40(docker, jenkins) 上安装好基础环境,参考文档

    (Docker:测试环境的准备-建立一台centos测试机,Docker:测试环境的准备-centos7上安装docker)

    [BEGIN] 2019/3/21 11:04:25
    [root@192 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    [root@192 ~]# setenforce 0
    [root@192 ~]# systemctl stop firewalld
    [root@192 ~]# systemctl disable firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    [root@192 ~]# yum install -y yum-utils 
    >   device-mapper-persistent-data 
    >   lvm2
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.cn99.com
     * updates: mirrors.huaweicloud.com
    Package yum-utils-1.1.31-50.el7.noarch already installed and latest version
    Package device-mapper-persistent-data-0.7.3-3.el7.x86_64 already installed and latest version
    Resolving Dependencies
    --> Running transaction check
    ---> Package lvm2.x86_64 7:2.02.180-8.el7 will be updated
    ---> Package lvm2.x86_64 7:2.02.180-10.el7_6.3 will be an update
    --> Processing Dependency: lvm2-libs = 7:2.02.180-10.el7_6.3 for package: 7:lvm2-2.02.180-10.el7_6.3.x86_64
    --> Running transaction check
    ---> Package lvm2-libs.x86_64 7:2.02.180-8.el7 will be updated
    ---> Package lvm2-libs.x86_64 7:2.02.180-10.el7_6.3 will be an update
    --> Processing Dependency: device-mapper-event = 7:1.02.149-10.el7_6.3 for package: 7:lvm2-libs-2.02.180-10.el7_6.3.x86_64
    --> Running transaction check
    ---> Package device-mapper-event.x86_64 7:1.02.149-8.el7 will be updated
    ---> Package device-mapper-event.x86_64 7:1.02.149-10.el7_6.3 will be an update
    --> Processing Dependency: device-mapper-event-libs = 7:1.02.149-10.el7_6.3 for package: 7:device-mapper-event-1.02.149-10.el7_6.3.x86_64
    --> Processing Dependency: device-mapper = 7:1.02.149-10.el7_6.3 for package: 7:device-mapper-event-1.02.149-10.el7_6.3.x86_64
    --> Running transaction check
    ---> Package device-mapper.x86_64 7:1.02.149-8.el7 will be updated
    --> Processing Dependency: device-mapper = 7:1.02.149-8.el7 for package: 7:device-mapper-libs-1.02.149-8.el7.x86_64
    ---> Package device-mapper.x86_64 7:1.02.149-10.el7_6.3 will be an update
    ---> Package device-mapper-event-libs.x86_64 7:1.02.149-8.el7 will be updated
    ---> Package device-mapper-event-libs.x86_64 7:1.02.149-10.el7_6.3 will be an update
    --> Running transaction check
    ---> Package device-mapper-libs.x86_64 7:1.02.149-8.el7 will be updated
    ---> Package device-mapper-libs.x86_64 7:1.02.149-10.el7_6.3 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===============================================================================================
     Package                        Arch         Version                       Repository     Size
    ===============================================================================================
    Updating:
     lvm2                           x86_64       7:2.02.180-10.el7_6.3         updates       1.3 M
    Updating for dependencies:
     device-mapper                  x86_64       7:1.02.149-10.el7_6.3         updates       292 k
     device-mapper-event            x86_64       7:1.02.149-10.el7_6.3         updates       188 k
     device-mapper-event-libs       x86_64       7:1.02.149-10.el7_6.3         updates       188 k
     device-mapper-libs             x86_64       7:1.02.149-10.el7_6.3         updates       320 k
     lvm2-libs                      x86_64       7:2.02.180-10.el7_6.3         updates       1.1 M
    
    Transaction Summary
    ===============================================================================================
    Upgrade  1 Package (+5 Dependent packages)
    
    Total download size: 3.3 M
    Downloading packages:
    Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    (1/6): device-mapper-event-1.02.149-10.el7_6.3.x86_64.rpm               | 188 kB  00:00:00     
    (2/6): device-mapper-1.02.149-10.el7_6.3.x86_64.rpm                     | 292 kB  00:00:00     
    (3/6): device-mapper-event-libs-1.02.149-10.el7_6.3.x86_64.rpm          | 188 kB  00:00:00     
    (4/6): device-mapper-libs-1.02.149-10.el7_6.3.x86_64.rpm                | 320 kB  00:00:00     
    (5/6): lvm2-libs-2.02.180-10.el7_6.3.x86_64.rpm                         | 1.1 MB  00:00:00     
    (6/6): lvm2-2.02.180-10.el7_6.3.x86_64.rpm                              | 1.3 MB  00:00:00     
    -----------------------------------------------------------------------------------------------
    Total                                                          5.0 MB/s | 3.3 MB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Updating   : 7:device-mapper-1.02.149-10.el7_6.3.x86_64                                 1/12 
      Updating   : 7:device-mapper-libs-1.02.149-10.el7_6.3.x86_64                            2/12 
      Updating   : 7:device-mapper-event-libs-1.02.149-10.el7_6.3.x86_64                      3/12 
      Updating   : 7:device-mapper-event-1.02.149-10.el7_6.3.x86_64                           4/12 
      Updating   : 7:lvm2-libs-2.02.180-10.el7_6.3.x86_64                                     5/12 
      Updating   : 7:lvm2-2.02.180-10.el7_6.3.x86_64                                          6/12 
      Cleanup    : 7:lvm2-2.02.180-8.el7.x86_64                                               7/12 
      Cleanup    : 7:lvm2-libs-2.02.180-8.el7.x86_64                                          8/12 
      Cleanup    : 7:device-mapper-event-1.02.149-8.el7.x86_64                                9/12 
      Cleanup    : 7:device-mapper-event-libs-1.02.149-8.el7.x86_64                          10/12 
      Cleanup    : 7:device-mapper-1.02.149-8.el7.x86_64                                     11/12 
      Cleanup    : 7:device-mapper-libs-1.02.149-8.el7.x86_64                                12/12 
      Verifying  : 7:device-mapper-libs-1.02.149-10.el7_6.3.x86_64                            1/12 
      Verifying  : 7:device-mapper-event-libs-1.02.149-10.el7_6.3.x86_64                      2/12 
      Verifying  : 7:device-mapper-1.02.149-10.el7_6.3.x86_64                                 3/12 
      Verifying  : 7:device-mapper-event-1.02.149-10.el7_6.3.x86_64                           4/12 
      Verifying  : 7:lvm2-libs-2.02.180-10.el7_6.3.x86_64                                     5/12 
      Verifying  : 7:lvm2-2.02.180-10.el7_6.3.x86_64                                          6/12 
      Verifying  : 7:lvm2-2.02.180-8.el7.x86_64                                               7/12 
      Verifying  : 7:device-mapper-event-1.02.149-8.el7.x86_64                                8/12 
      Verifying  : 7:lvm2-libs-2.02.180-8.el7.x86_64                                          9/12 
      Verifying  : 7:device-mapper-libs-1.02.149-8.el7.x86_64                                10/12 
      Verifying  : 7:device-mapper-1.02.149-8.el7.x86_64                                     11/12 
      Verifying  : 7:device-mapper-event-libs-1.02.149-8.el7.x86_64                          12/12 
    
    Updated:
      lvm2.x86_64 7:2.02.180-10.el7_6.3                                                            
    
    Dependency Updated:
      device-mapper.x86_64 7:1.02.149-10.el7_6.3                                                   
      device-mapper-event.x86_64 7:1.02.149-10.el7_6.3                                             
      device-mapper-event-libs.x86_64 7:1.02.149-10.el7_6.3                                        
      device-mapper-libs.x86_64 7:1.02.149-10.el7_6.3                                              
      lvm2-libs.x86_64 7:2.02.180-10.el7_6.3                                                       
    
    Complete!
    [root@192 ~]# yum-config-manager 
    >     --add-repo 
    >     https://download.docker.com/linux/centos/docker-ce.repo
    Loaded plugins: fastestmirror
    adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
    grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
    repo saved to /etc/yum.repos.d/docker-ce.repo
    [root@192 ~]# yum install docker-ce -y
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.cn99.com
     * updates: mirrors.huaweicloud.com
    docker-ce-stable                                                        | 3.5 kB  00:00:00     
    (1/2): docker-ce-stable/x86_64/primary_db                               |  25 kB  00:00:00     
    (2/2): docker-ce-stable/x86_64/updateinfo                               |   55 B  00:00:00     
    Resolving Dependencies
    --> Running transaction check
    ---> Package docker-ce.x86_64 3:18.09.3-3.el7 will be installed
    --> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.3-3.el7.x86_64
    --> Processing Dependency: containerd.io >= 1.2.2-3 for package: 3:docker-ce-18.09.3-3.el7.x86_64
    --> Processing Dependency: libseccomp >= 2.3 for package: 3:docker-ce-18.09.3-3.el7.x86_64
    --> Processing Dependency: docker-ce-cli for package: 3:docker-ce-18.09.3-3.el7.x86_64
    --> Processing Dependency: libcgroup for package: 3:docker-ce-18.09.3-3.el7.x86_64
    --> Processing Dependency: libseccomp.so.2()(64bit) for package: 3:docker-ce-18.09.3-3.el7.x86_64
    --> Running transaction check
    ---> Package container-selinux.noarch 2:2.74-1.el7 will be installed
    --> Processing Dependency: policycoreutils-python for package: 2:container-selinux-2.74-1.el7.noarch
    ---> Package containerd.io.x86_64 0:1.2.4-3.1.el7 will be installed
    ---> Package docker-ce-cli.x86_64 1:18.09.3-3.el7 will be installed
    ---> Package libcgroup.x86_64 0:0.41-20.el7 will be installed
    ---> Package libseccomp.x86_64 0:2.3.1-3.el7 will be installed
    --> Running transaction check
    ---> Package policycoreutils-python.x86_64 0:2.5-29.el7_6.1 will be installed
    --> Processing Dependency: policycoreutils = 2.5-29.el7_6.1 for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: setools-libs >= 3.3.8-4 for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: libsemanage-python >= 2.5-14 for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: audit-libs-python >= 2.1.3-4 for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: python-IPy for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: libqpol.so.1(VERS_1.4)(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: libqpol.so.1(VERS_1.2)(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: libapol.so.4(VERS_4.0)(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: checkpolicy for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: libqpol.so.1()(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Processing Dependency: libapol.so.4()(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
    --> Running transaction check
    ---> Package audit-libs-python.x86_64 0:2.8.4-4.el7 will be installed
    ---> Package checkpolicy.x86_64 0:2.5-8.el7 will be installed
    ---> Package libsemanage-python.x86_64 0:2.5-14.el7 will be installed
    ---> Package policycoreutils.x86_64 0:2.5-29.el7 will be updated
    ---> Package policycoreutils.x86_64 0:2.5-29.el7_6.1 will be an update
    ---> Package python-IPy.noarch 0:0.75-6.el7 will be installed
    ---> Package setools-libs.x86_64 0:3.3.8-4.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===============================================================================================
     Package                      Arch         Version                Repository              Size
    ===============================================================================================
    Installing:
     docker-ce                    x86_64       3:18.09.3-3.el7        docker-ce-stable        19 M
    Installing for dependencies:
     audit-libs-python            x86_64       2.8.4-4.el7            base                    76 k
     checkpolicy                  x86_64       2.5-8.el7              base                   295 k
     container-selinux            noarch       2:2.74-1.el7           extras                  38 k
     containerd.io                x86_64       1.2.4-3.1.el7          docker-ce-stable        22 M
     docker-ce-cli                x86_64       1:18.09.3-3.el7        docker-ce-stable        14 M
     libcgroup                    x86_64       0.41-20.el7            base                    66 k
     libseccomp                   x86_64       2.3.1-3.el7            base                    56 k
     libsemanage-python           x86_64       2.5-14.el7             base                   113 k
     policycoreutils-python       x86_64       2.5-29.el7_6.1         updates                456 k
     python-IPy                   noarch       0.75-6.el7             base                    32 k
     setools-libs                 x86_64       3.3.8-4.el7            base                   620 k
    Updating for dependencies:
     policycoreutils              x86_64       2.5-29.el7_6.1         updates                916 k
    
    Transaction Summary
    ===============================================================================================
    Install  1 Package  (+11 Dependent packages)
    Upgrade             (  1 Dependent package)
    
    Total download size: 57 M
    Downloading packages:
    Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    (1/13): container-selinux-2.74-1.el7.noarch.rpm                         |  38 kB  00:00:00     
    (2/13): checkpolicy-2.5-8.el7.x86_64.rpm                                | 295 kB  00:00:02     
    (3/13): audit-libs-python-2.8.4-4.el7.x86_64.rpm                        |  76 kB  00:00:02     
    warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-18.09.3-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
    Public key for docker-ce-18.09.3-3.el7.x86_64.rpm is not installed
    (4/13): docker-ce-18.09.3-3.el7.x86_64.rpm                              |  19 MB  00:00:04     
    (5/13): libcgroup-0.41-20.el7.x86_64.rpm                                |  66 kB  00:00:00     
    (6/13): libsemanage-python-2.5-14.el7.x86_64.rpm                        | 113 kB  00:00:00     
    (7/13): containerd.io-1.2.4-3.1.el7.x86_64.rpm                          |  22 MB  00:00:05     
    (8/13): policycoreutils-2.5-29.el7_6.1.x86_64.rpm                       | 916 kB  00:00:00     
    (9/13): python-IPy-0.75-6.el7.noarch.rpm                                |  32 kB  00:00:00     
    (10/13): setools-libs-3.3.8-4.el7.x86_64.rpm                            | 620 kB  00:00:00     
    (11/13): policycoreutils-python-2.5-29.el7_6.1.x86_64.rpm               | 456 kB  00:00:00     
    (12/13): libseccomp-2.3.1-3.el7.x86_64.rpm                              |  56 kB  00:00:02     
    (13/13): docker-ce-cli-18.09.3-3.el7.x86_64.rpm                         |  14 MB  00:00:04     
    -----------------------------------------------------------------------------------------------
    Total                                                          6.2 MB/s |  57 MB  00:00:09     
    Retrieving key from https://download.docker.com/linux/centos/gpg
    Importing GPG key 0x621E9F35:
     Userid     : "Docker Release (CE rpm) <docker@docker.com>"
     Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
     From       : https://download.docker.com/linux/centos/gpg
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Updating   : policycoreutils-2.5-29.el7_6.1.x86_64                                      1/14 
      Installing : libcgroup-0.41-20.el7.x86_64                                               2/14 
      Installing : setools-libs-3.3.8-4.el7.x86_64                                            3/14 
      Installing : containerd.io-1.2.4-3.1.el7.x86_64                                         4/14 
      Installing : python-IPy-0.75-6.el7.noarch                                               5/14 
      Installing : checkpolicy-2.5-8.el7.x86_64                                               6/14 
      Installing : libseccomp-2.3.1-3.el7.x86_64                                              7/14 
      Installing : libsemanage-python-2.5-14.el7.x86_64                                       8/14 
      Installing : audit-libs-python-2.8.4-4.el7.x86_64                                       9/14 
      Installing : policycoreutils-python-2.5-29.el7_6.1.x86_64                              10/14 
      Installing : 2:container-selinux-2.74-1.el7.noarch                                     11/14 
      Installing : 1:docker-ce-cli-18.09.3-3.el7.x86_64                                      12/14 
      Installing : 3:docker-ce-18.09.3-3.el7.x86_64                                          13/14 
      Cleanup    : policycoreutils-2.5-29.el7.x86_64                                         14/14 
      Verifying  : libcgroup-0.41-20.el7.x86_64                                               1/14 
      Verifying  : policycoreutils-python-2.5-29.el7_6.1.x86_64                               2/14 
      Verifying  : 1:docker-ce-cli-18.09.3-3.el7.x86_64                                       3/14 
      Verifying  : audit-libs-python-2.8.4-4.el7.x86_64                                       4/14 
      Verifying  : libsemanage-python-2.5-14.el7.x86_64                                       5/14 
      Verifying  : libseccomp-2.3.1-3.el7.x86_64                                              6/14 
      Verifying  : checkpolicy-2.5-8.el7.x86_64                                               7/14 
      Verifying  : python-IPy-0.75-6.el7.noarch                                               8/14 
      Verifying  : 2:container-selinux-2.74-1.el7.noarch                                      9/14 
      Verifying  : policycoreutils-2.5-29.el7_6.1.x86_64                                     10/14 
      Verifying  : 3:docker-ce-18.09.3-3.el7.x86_64                                          11/14 
      Verifying  : containerd.io-1.2.4-3.1.el7.x86_64                                        12/14 
      Verifying  : setools-libs-3.3.8-4.el7.x86_64                                           13/14 
      Verifying  : policycoreutils-2.5-29.el7.x86_64                                         14/14 
    
    Installed:
      docker-ce.x86_64 3:18.09.3-3.el7                                                             
    
    Dependency Installed:
      audit-libs-python.x86_64 0:2.8.4-4.el7             checkpolicy.x86_64 0:2.5-8.el7            
      container-selinux.noarch 2:2.74-1.el7              containerd.io.x86_64 0:1.2.4-3.1.el7      
      docker-ce-cli.x86_64 1:18.09.3-3.el7               libcgroup.x86_64 0:0.41-20.el7            
      libseccomp.x86_64 0:2.3.1-3.el7                    libsemanage-python.x86_64 0:2.5-14.el7    
      policycoreutils-python.x86_64 0:2.5-29.el7_6.1     python-IPy.noarch 0:0.75-6.el7            
      setools-libs.x86_64 0:3.3.8-4.el7                 
    
    Dependency Updated:
      policycoreutils.x86_64 0:2.5-29.el7_6.1                                                      
    
    Complete!
    [root@192 ~]# systemctl start docker
    [root@192 ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
    docker version >= 1.12
    {"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
    Success.
    You need to restart docker to take effect: sudo systemctl restart docker 
    [root@192 ~]# systemctl enable docker
    Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
    [root@192 ~]# systemctl restart docker
    
    [END] 2019/3/21 11:18:25

     2. 192.168.1.30 上面安装git代码管理版本仓库

    [BEGIN] 2019/3/21 11:21:12
    #本地创建一个git用户 [root@192 ~]# useradd git [root@192 ~]# passwd git 更改用户 git 的密码 。 新的 密码: 无效的密码: 密码未通过字典检查 - 过于简单化/系统化 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。

    #安装git代码管理仓库 [root@192 ~]# yum install git -y 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: centos.ustc.edu.cn * updates: mirrors.aliyun.com base | 3.6 kB 00:00:00 docker-ce-stable | 3.5 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/2): updates/7/x86_64/primary_db | 3.3 MB 00:00:00 (2/2): extras/7/x86_64/primary_db | 187 kB 00:00:06 正在解决依赖关系 --> 正在检查事务 ---> 软件包 git.x86_64.0.1.8.3.1-20.el7 将被 安装 --> 正在处理依赖关系 perl-Git = 1.8.3.1-20.el7,它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl >= 5.008,它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 rsync,它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(warnings),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(vars),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(strict),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(lib),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(Term::ReadKey),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(Git),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(Getopt::Long),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(File::stat),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(File::Temp),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(File::Spec),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(File::Path),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(File::Find),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(File::Copy),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(File::Basename),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(Exporter),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 perl(Error),它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在处理依赖关系 /usr/bin/perl,它被软件包 git-1.8.3.1-20.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 perl.x86_64.4.5.16.3-294.el7_6 将被 安装 --> 正在处理依赖关系 perl-libs = 4:5.16.3-294.el7_6,它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Socket) >= 1.3,它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Scalar::Util) >= 1.10,它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl-macros,它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl-libs,它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(threads::shared),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(threads),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(constant),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Time::Local),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Time::HiRes),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Storable),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Socket),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Scalar::Util),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Pod::Simple::XHTML),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Pod::Simple::Search),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Filter::Util::Call),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 perl(Carp),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 --> 正在处理依赖关系 libperl.so()(64bit),它被软件包 4:perl-5.16.3-294.el7_6.x86_64 需要 ---> 软件包 perl-Error.noarch.1.0.17020-2.el7 将被 安装 ---> 软件包 perl-Exporter.noarch.0.5.68-3.el7 将被 安装 ---> 软件包 perl-File-Path.noarch.0.2.09-2.el7 将被 安装 ---> 软件包 perl-File-Temp.noarch.0.0.23.01-3.el7 将被 安装 ---> 软件包 perl-Getopt-Long.noarch.0.2.40-3.el7 将被 安装 --> 正在处理依赖关系 perl(Pod::Usage) >= 1.14,它被软件包 perl-Getopt-Long-2.40-3.el7.noarch 需要 --> 正在处理依赖关系 perl(Text::ParseWords),它被软件包 perl-Getopt-Long-2.40-3.el7.noarch 需要 ---> 软件包 perl-Git.noarch.0.1.8.3.1-20.el7 将被 安装 ---> 软件包 perl-PathTools.x86_64.0.3.40-5.el7 将被 安装 ---> 软件包 perl-TermReadKey.x86_64.0.2.30-20.el7 将被 安装 ---> 软件包 rsync.x86_64.0.3.1.2-4.el7 将被 安装 --> 正在检查事务 ---> 软件包 perl-Carp.noarch.0.1.26-244.el7 将被 安装 ---> 软件包 perl-Filter.x86_64.0.1.49-3.el7 将被 安装 ---> 软件包 perl-Pod-Simple.noarch.1.3.28-4.el7 将被 安装 --> 正在处理依赖关系 perl(Pod::Escapes) >= 1.04,它被软件包 1:perl-Pod-Simple-3.28-4.el7.noarch 需要 --> 正在处理依赖关系 perl(Encode),它被软件包 1:perl-Pod-Simple-3.28-4.el7.noarch 需要 ---> 软件包 perl-Pod-Usage.noarch.0.1.63-3.el7 将被 安装 --> 正在处理依赖关系 perl(Pod::Text) >= 3.15,它被软件包 perl-Pod-Usage-1.63-3.el7.noarch 需要 --> 正在处理依赖关系 perl-Pod-Perldoc,它被软件包 perl-Pod-Usage-1.63-3.el7.noarch 需要 ---> 软件包 perl-Scalar-List-Utils.x86_64.0.1.27-248.el7 将被 安装 ---> 软件包 perl-Socket.x86_64.0.2.010-4.el7 将被 安装 ---> 软件包 perl-Storable.x86_64.0.2.45-3.el7 将被 安装 ---> 软件包 perl-Text-ParseWords.noarch.0.3.29-4.el7 将被 安装 ---> 软件包 perl-Time-HiRes.x86_64.4.1.9725-3.el7 将被 安装 ---> 软件包 perl-Time-Local.noarch.0.1.2300-2.el7 将被 安装 ---> 软件包 perl-constant.noarch.0.1.27-2.el7 将被 安装 ---> 软件包 perl-libs.x86_64.4.5.16.3-294.el7_6 将被 安装 ---> 软件包 perl-macros.x86_64.4.5.16.3-294.el7_6 将被 安装 ---> 软件包 perl-threads.x86_64.0.1.87-4.el7 将被 安装 ---> 软件包 perl-threads-shared.x86_64.0.1.43-6.el7 将被 安装 --> 正在检查事务 ---> 软件包 perl-Encode.x86_64.0.2.51-7.el7 将被 安装 ---> 软件包 perl-Pod-Escapes.noarch.1.1.04-294.el7_6 将被 安装 ---> 软件包 perl-Pod-Perldoc.noarch.0.3.20-4.el7 将被 安装 --> 正在处理依赖关系 perl(parent),它被软件包 perl-Pod-Perldoc-3.20-4.el7.noarch 需要 --> 正在处理依赖关系 perl(HTTP::Tiny),它被软件包 perl-Pod-Perldoc-3.20-4.el7.noarch 需要 ---> 软件包 perl-podlators.noarch.0.2.5.1-3.el7 将被 安装 --> 正在检查事务 ---> 软件包 perl-HTTP-Tiny.noarch.0.0.033-3.el7 将被 安装 ---> 软件包 perl-parent.noarch.1.0.225-244.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 =============================================================================================== Package 架构 版本 源 大小 =============================================================================================== 正在安装: git x86_64 1.8.3.1-20.el7 updates 4.4 M 为依赖而安装: perl x86_64 4:5.16.3-294.el7_6 updates 8.0 M perl-Carp noarch 1.26-244.el7 base 19 k perl-Encode x86_64 2.51-7.el7 base 1.5 M perl-Error noarch 1:0.17020-2.el7 base 32 k perl-Exporter noarch 5.68-3.el7 base 28 k perl-File-Path noarch 2.09-2.el7 base 26 k perl-File-Temp noarch 0.23.01-3.el7 base 56 k perl-Filter x86_64 1.49-3.el7 base 76 k perl-Getopt-Long noarch 2.40-3.el7 base 56 k perl-Git noarch 1.8.3.1-20.el7 updates 55 k perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k perl-PathTools x86_64 3.40-5.el7 base 82 k perl-Pod-Escapes noarch 1:1.04-294.el7_6 updates 51 k perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k perl-Pod-Usage noarch 1.63-3.el7 base 27 k perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k perl-Socket x86_64 2.010-4.el7 base 49 k perl-Storable x86_64 2.45-3.el7 base 77 k perl-TermReadKey x86_64 2.30-20.el7 base 31 k perl-Text-ParseWords noarch 3.29-4.el7 base 14 k perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k perl-Time-Local noarch 1.2300-2.el7 base 24 k perl-constant noarch 1.27-2.el7 base 19 k perl-libs x86_64 4:5.16.3-294.el7_6 updates 688 k perl-macros x86_64 4:5.16.3-294.el7_6 updates 44 k perl-parent noarch 1:0.225-244.el7 base 12 k perl-podlators noarch 2.5.1-3.el7 base 112 k perl-threads x86_64 1.87-4.el7 base 49 k perl-threads-shared x86_64 1.43-6.el7 base 39 k rsync x86_64 3.1.2-4.el7 base 403 k 事务概要 =============================================================================================== 安装 1 软件包 (+31 依赖软件包) 总下载量:16 M 安装大小:59 M Downloading packages: (1/32): perl-Carp-1.26-244.el7.noarch.rpm | 19 kB 00:00:00 (2/32): perl-Error-0.17020-2.el7.noarch.rpm | 32 kB 00:00:00 (3/32): perl-Exporter-5.68-3.el7.noarch.rpm | 28 kB 00:00:00 (4/32): perl-Encode-2.51-7.el7.x86_64.rpm | 1.5 MB 00:00:00 (5/32): perl-File-Temp-0.23.01-3.el7.noarch.rpm | 56 kB 00:00:00 (6/32): perl-Filter-1.49-3.el7.x86_64.rpm | 76 kB 00:00:00 (7/32): perl-Getopt-Long-2.40-3.el7.noarch.rpm | 56 kB 00:00:00 (8/32): git-1.8.3.1-20.el7.x86_64.rpm | 4.4 MB 00:00:01 (9/32): perl-Git-1.8.3.1-20.el7.noarch.rpm | 55 kB 00:00:00 (10/32): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm | 38 kB 00:00:00 (11/32): perl-PathTools-3.40-5.el7.x86_64.rpm | 82 kB 00:00:00 (12/32): perl-File-Path-2.09-2.el7.noarch.rpm | 26 kB 00:00:00 (13/32): perl-Pod-Escapes-1.04-294.el7_6.noarch.rpm | 51 kB 00:00:00 (14/32): perl-Pod-Simple-3.28-4.el7.noarch.rpm | 216 kB 00:00:00 (15/32): perl-5.16.3-294.el7_6.x86_64.rpm | 8.0 MB 00:00:02 (16/32): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm | 87 kB 00:00:00 (17/32): perl-Pod-Usage-1.63-3.el7.noarch.rpm | 27 kB 00:00:00 (18/32): perl-Socket-2.010-4.el7.x86_64.rpm | 49 kB 00:00:00 (19/32): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm | 36 kB 00:00:00 (20/32): perl-TermReadKey-2.30-20.el7.x86_64.rpm | 31 kB 00:00:00 (21/32): perl-Text-ParseWords-3.29-4.el7.noarch.rpm | 14 kB 00:00:00 (22/32): perl-Storable-2.45-3.el7.x86_64.rpm | 77 kB 00:00:01 (23/32): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm | 45 kB 00:00:01 (24/32): perl-constant-1.27-2.el7.noarch.rpm | 19 kB 00:00:00 (25/32): perl-parent-0.225-244.el7.noarch.rpm | 12 kB 00:00:00 (26/32): perl-Time-Local-1.2300-2.el7.noarch.rpm | 24 kB 00:00:01 (27/32): perl-podlators-2.5.1-3.el7.noarch.rpm | 112 kB 00:00:00 (28/32): perl-macros-5.16.3-294.el7_6.x86_64.rpm | 44 kB 00:00:00 (29/32): perl-libs-5.16.3-294.el7_6.x86_64.rpm | 688 kB 00:00:00 (30/32): perl-threads-1.87-4.el7.x86_64.rpm | 49 kB 00:00:01 (31/32): perl-threads-shared-1.43-6.el7.x86_64.rpm | 39 kB 00:00:01 (32/32): rsync-3.1.2-4.el7.x86_64.rpm | 403 kB 00:00:00 ----------------------------------------------------------------------------------------------- 总计 2.3 MB/s | 16 MB 00:00:07 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : 1:perl-parent-0.225-244.el7.noarch 1/32 正在安装 : perl-HTTP-Tiny-0.033-3.el7.noarch 2/32 正在安装 : perl-podlators-2.5.1-3.el7.noarch 3/32 正在安装 : perl-Pod-Perldoc-3.20-4.el7.noarch 4/32 正在安装 : 1:perl-Pod-Escapes-1.04-294.el7_6.noarch 5/32 正在安装 : perl-Encode-2.51-7.el7.x86_64 6/32 正在安装 : perl-Text-ParseWords-3.29-4.el7.noarch 7/32 正在安装 : perl-Pod-Usage-1.63-3.el7.noarch 8/32 正在安装 : 4:perl-libs-5.16.3-294.el7_6.x86_64 9/32 正在安装 : 4:perl-macros-5.16.3-294.el7_6.x86_64 10/32 正在安装 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 11/32 正在安装 : perl-Exporter-5.68-3.el7.noarch 12/32 正在安装 : perl-constant-1.27-2.el7.noarch 13/32 正在安装 : perl-Time-Local-1.2300-2.el7.noarch 14/32 正在安装 : perl-Socket-2.010-4.el7.x86_64 15/32 正在安装 : perl-Carp-1.26-244.el7.noarch 16/32 正在安装 : perl-Storable-2.45-3.el7.x86_64 17/32 正在安装 : perl-PathTools-3.40-5.el7.x86_64 18/32 正在安装 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 19/32 正在安装 : 1:perl-Pod-Simple-3.28-4.el7.noarch 20/32 正在安装 : perl-File-Temp-0.23.01-3.el7.noarch 21/32 正在安装 : perl-File-Path-2.09-2.el7.noarch 22/32 正在安装 : perl-threads-shared-1.43-6.el7.x86_64 23/32 正在安装 : perl-threads-1.87-4.el7.x86_64 24/32 正在安装 : perl-Filter-1.49-3.el7.x86_64 25/32 正在安装 : perl-Getopt-Long-2.40-3.el7.noarch 26/32 正在安装 : 4:perl-5.16.3-294.el7_6.x86_64 27/32 正在安装 : 1:perl-Error-0.17020-2.el7.noarch 28/32 正在安装 : perl-TermReadKey-2.30-20.el7.x86_64 29/32 正在安装 : rsync-3.1.2-4.el7.x86_64 30/32 正在安装 : perl-Git-1.8.3.1-20.el7.noarch 31/32 正在安装 : git-1.8.3.1-20.el7.x86_64 32/32 验证中 : perl-HTTP-Tiny-0.033-3.el7.noarch 1/32 验证中 : perl-threads-shared-1.43-6.el7.x86_64 2/32 验证中 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 3/32 验证中 : 1:perl-Pod-Escapes-1.04-294.el7_6.noarch 4/32 验证中 : perl-Exporter-5.68-3.el7.noarch 5/32 验证中 : perl-constant-1.27-2.el7.noarch 6/32 验证中 : perl-PathTools-3.40-5.el7.x86_64 7/32 验证中 : 1:perl-parent-0.225-244.el7.noarch 8/32 验证中 : perl-TermReadKey-2.30-20.el7.x86_64 9/32 验证中 : 4:perl-libs-5.16.3-294.el7_6.x86_64 10/32 验证中 : perl-File-Temp-0.23.01-3.el7.noarch 11/32 验证中 : 1:perl-Pod-Simple-3.28-4.el7.noarch 12/32 验证中 : perl-Time-Local-1.2300-2.el7.noarch 13/32 验证中 : 4:perl-macros-5.16.3-294.el7_6.x86_64 14/32 验证中 : perl-Socket-2.010-4.el7.x86_64 15/32 验证中 : perl-Carp-1.26-244.el7.noarch 16/32 验证中 : 1:perl-Error-0.17020-2.el7.noarch 17/32 验证中 : git-1.8.3.1-20.el7.x86_64 18/32 验证中 : perl-Storable-2.45-3.el7.x86_64 19/32 验证中 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 20/32 验证中 : perl-Git-1.8.3.1-20.el7.noarch 21/32 验证中 : rsync-3.1.2-4.el7.x86_64 22/32 验证中 : perl-Pod-Usage-1.63-3.el7.noarch 23/32 验证中 : perl-Encode-2.51-7.el7.x86_64 24/32 验证中 : perl-Pod-Perldoc-3.20-4.el7.noarch 25/32 验证中 : perl-podlators-2.5.1-3.el7.noarch 26/32 验证中 : perl-File-Path-2.09-2.el7.noarch 27/32 验证中 : perl-threads-1.87-4.el7.x86_64 28/32 验证中 : perl-Filter-1.49-3.el7.x86_64 29/32 验证中 : perl-Getopt-Long-2.40-3.el7.noarch 30/32 验证中 : perl-Text-ParseWords-3.29-4.el7.noarch 31/32 验证中 : 4:perl-5.16.3-294.el7_6.x86_64 32/32 已安装: git.x86_64 0:1.8.3.1-20.el7 作为依赖被安装: perl.x86_64 4:5.16.3-294.el7_6 perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7 perl-Error.noarch 1:0.17020-2.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7 perl-Git.noarch 0:1.8.3.1-20.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-294.el7_6 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-4.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-TermReadKey.x86_64 0:2.30-20.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-294.el7_6 perl-macros.x86_64 4:5.16.3-294.el7_6 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7 rsync.x86_64 0:3.1.2-4.el7 完毕!
    #切换到用户 git [root@
    192 ~]# su - git 上一次登录:四 3月 21 11:24:44 CST 2019pts/0
    #创建一个仓库文件夹 加上.git只是代码规范 [git@
    192 ~]$ mkdir tomcat-java-demo.git [git@192 ~]$ ls tomcat-java-demo.git [git@192 ~]$ ls tomcat-java-demo.git [git@192 ~]$ cd tomcat-java-demo.git/ [git@192 tomcat-java-demo.git]$ ls
    # 把文件夹初始化为一个git代码仓库 [git@192 tomcat-java-demo.git]$ git --bare init 初始化空的 Git 版本库于 /home/git/tomcat-java-demo.git/ [git@192 tomcat-java-demo.git]$ ls branches config description HEAD hooks info objects refs [git@192 tomcat-java-demo.git]$ pwd /home/git/tomcat-java-demo.git [END] 2019/3/21 11:35:11

    3. 192.168.1.40机器去拉取 git 代码仓库里的代码 

    [BEGIN] 2019/3/21 11:30:51
    [root@192 ~]# clear
    # git客户端也是这样安装的(git客户端和仓库端,安装方法一样)
    [root@192 ~]# yum install git -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.cn99.com * updates: mirrors.huaweicloud.com Resolving Dependencies --> Running transaction check ---> Package git.x86_64 0:1.8.3.1-20.el7 will be installed --> Processing Dependency: perl-Git = 1.8.3.1-20.el7 for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl >= 5.008 for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: rsync for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(warnings) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(vars) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(strict) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(lib) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(Git) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(Getopt::Long) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(File::stat) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(File::Temp) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(File::Spec) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(File::Path) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(File::Find) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(File::Copy) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(File::Basename) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(Exporter) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: perl(Error) for package: git-1.8.3.1-20.el7.x86_64 --> Processing Dependency: /usr/bin/perl for package: git-1.8.3.1-20.el7.x86_64 --> Running transaction check ---> Package perl.x86_64 4:5.16.3-294.el7_6 will be installed --> Processing Dependency: perl-libs = 4:5.16.3-294.el7_6 for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Socket) >= 1.3 for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Scalar::Util) >= 1.10 for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl-macros for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl-libs for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(threads::shared) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(threads) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(constant) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Time::Local) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Time::HiRes) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Storable) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Socket) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Scalar::Util) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Pod::Simple::XHTML) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Pod::Simple::Search) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Filter::Util::Call) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Carp) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: libperl.so()(64bit) for package: 4:perl-5.16.3-294.el7_6.x86_64 ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed ---> Package perl-Exporter.noarch 0:5.68-3.el7 will be installed ---> Package perl-File-Path.noarch 0:2.09-2.el7 will be installed ---> Package perl-File-Temp.noarch 0:0.23.01-3.el7 will be installed ---> Package perl-Getopt-Long.noarch 0:2.40-3.el7 will be installed --> Processing Dependency: perl(Pod::Usage) >= 1.14 for package: perl-Getopt-Long-2.40-3.el7.noarch --> Processing Dependency: perl(Text::ParseWords) for package: perl-Getopt-Long-2.40-3.el7.noarch ---> Package perl-Git.noarch 0:1.8.3.1-20.el7 will be installed ---> Package perl-PathTools.x86_64 0:3.40-5.el7 will be installed ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed ---> Package rsync.x86_64 0:3.1.2-4.el7 will be installed --> Running transaction check ---> Package perl-Carp.noarch 0:1.26-244.el7 will be installed ---> Package perl-Filter.x86_64 0:1.49-3.el7 will be installed ---> Package perl-Pod-Simple.noarch 1:3.28-4.el7 will be installed --> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.28-4.el7.noarch --> Processing Dependency: perl(Encode) for package: 1:perl-Pod-Simple-3.28-4.el7.noarch ---> Package perl-Pod-Usage.noarch 0:1.63-3.el7 will be installed --> Processing Dependency: perl(Pod::Text) >= 3.15 for package: perl-Pod-Usage-1.63-3.el7.noarch --> Processing Dependency: perl-Pod-Perldoc for package: perl-Pod-Usage-1.63-3.el7.noarch ---> Package perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 will be installed ---> Package perl-Socket.x86_64 0:2.010-4.el7 will be installed ---> Package perl-Storable.x86_64 0:2.45-3.el7 will be installed ---> Package perl-Text-ParseWords.noarch 0:3.29-4.el7 will be installed ---> Package perl-Time-HiRes.x86_64 4:1.9725-3.el7 will be installed ---> Package perl-Time-Local.noarch 0:1.2300-2.el7 will be installed ---> Package perl-constant.noarch 0:1.27-2.el7 will be installed ---> Package perl-libs.x86_64 4:5.16.3-294.el7_6 will be installed ---> Package perl-macros.x86_64 4:5.16.3-294.el7_6 will be installed ---> Package perl-threads.x86_64 0:1.87-4.el7 will be installed ---> Package perl-threads-shared.x86_64 0:1.43-6.el7 will be installed --> Running transaction check ---> Package perl-Encode.x86_64 0:2.51-7.el7 will be installed ---> Package perl-Pod-Escapes.noarch 1:1.04-294.el7_6 will be installed ---> Package perl-Pod-Perldoc.noarch 0:3.20-4.el7 will be installed --> Processing Dependency: perl(parent) for package: perl-Pod-Perldoc-3.20-4.el7.noarch --> Processing Dependency: perl(HTTP::Tiny) for package: perl-Pod-Perldoc-3.20-4.el7.noarch ---> Package perl-podlators.noarch 0:2.5.1-3.el7 will be installed --> Running transaction check ---> Package perl-HTTP-Tiny.noarch 0:0.033-3.el7 will be installed ---> Package perl-parent.noarch 1:0.225-244.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================================== Package Arch Version Repository Size =============================================================================================== Installing: git x86_64 1.8.3.1-20.el7 updates 4.4 M Installing for dependencies: perl x86_64 4:5.16.3-294.el7_6 updates 8.0 M perl-Carp noarch 1.26-244.el7 base 19 k perl-Encode x86_64 2.51-7.el7 base 1.5 M perl-Error noarch 1:0.17020-2.el7 base 32 k perl-Exporter noarch 5.68-3.el7 base 28 k perl-File-Path noarch 2.09-2.el7 base 26 k perl-File-Temp noarch 0.23.01-3.el7 base 56 k perl-Filter x86_64 1.49-3.el7 base 76 k perl-Getopt-Long noarch 2.40-3.el7 base 56 k perl-Git noarch 1.8.3.1-20.el7 updates 55 k perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k perl-PathTools x86_64 3.40-5.el7 base 82 k perl-Pod-Escapes noarch 1:1.04-294.el7_6 updates 51 k perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k perl-Pod-Usage noarch 1.63-3.el7 base 27 k perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k perl-Socket x86_64 2.010-4.el7 base 49 k perl-Storable x86_64 2.45-3.el7 base 77 k perl-TermReadKey x86_64 2.30-20.el7 base 31 k perl-Text-ParseWords noarch 3.29-4.el7 base 14 k perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k perl-Time-Local noarch 1.2300-2.el7 base 24 k perl-constant noarch 1.27-2.el7 base 19 k perl-libs x86_64 4:5.16.3-294.el7_6 updates 688 k perl-macros x86_64 4:5.16.3-294.el7_6 updates 44 k perl-parent noarch 1:0.225-244.el7 base 12 k perl-podlators noarch 2.5.1-3.el7 base 112 k perl-threads x86_64 1.87-4.el7 base 49 k perl-threads-shared x86_64 1.43-6.el7 base 39 k rsync x86_64 3.1.2-4.el7 base 403 k Transaction Summary =============================================================================================== Install 1 Package (+31 Dependent packages) Total download size: 16 M Installed size: 59 M Downloading packages: (1/32): perl-Error-0.17020-2.el7.noarch.rpm | 32 kB 00:00:00 (2/32): perl-Exporter-5.68-3.el7.noarch.rpm | 28 kB 00:00:00 (3/32): perl-File-Path-2.09-2.el7.noarch.rpm | 26 kB 00:00:00 (4/32): perl-File-Temp-0.23.01-3.el7.noarch.rpm | 56 kB 00:00:00 (5/32): perl-Filter-1.49-3.el7.x86_64.rpm | 76 kB 00:00:00 (6/32): perl-Getopt-Long-2.40-3.el7.noarch.rpm | 56 kB 00:00:00 (7/32): git-1.8.3.1-20.el7.x86_64.rpm | 4.4 MB 00:00:01 (8/32): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm | 38 kB 00:00:00 (9/32): perl-Git-1.8.3.1-20.el7.noarch.rpm | 55 kB 00:00:00 (10/32): perl-PathTools-3.40-5.el7.x86_64.rpm | 82 kB 00:00:00 (11/32): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm | 87 kB 00:00:00 (12/32): perl-Pod-Escapes-1.04-294.el7_6.noarch.rpm | 51 kB 00:00:00 (13/32): perl-Pod-Simple-3.28-4.el7.noarch.rpm | 216 kB 00:00:00 (14/32): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm | 36 kB 00:00:00 (15/32): perl-Socket-2.010-4.el7.x86_64.rpm | 49 kB 00:00:00 (16/32): perl-Storable-2.45-3.el7.x86_64.rpm | 77 kB 00:00:00 (17/32): perl-Carp-1.26-244.el7.noarch.rpm | 19 kB 00:00:01 (18/32): perl-TermReadKey-2.30-20.el7.x86_64.rpm | 31 kB 00:00:00 (19/32): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm | 45 kB 00:00:00 (20/32): perl-Time-Local-1.2300-2.el7.noarch.rpm | 24 kB 00:00:00 (21/32): perl-constant-1.27-2.el7.noarch.rpm | 19 kB 00:00:00 (22/32): perl-5.16.3-294.el7_6.x86_64.rpm | 8.0 MB 00:00:01 (23/32): perl-libs-5.16.3-294.el7_6.x86_64.rpm | 688 kB 00:00:00 (24/32): perl-parent-0.225-244.el7.noarch.rpm | 12 kB 00:00:00 (25/32): perl-podlators-2.5.1-3.el7.noarch.rpm | 112 kB 00:00:00 (26/32): perl-macros-5.16.3-294.el7_6.x86_64.rpm | 44 kB 00:00:00 (27/32): perl-threads-1.87-4.el7.x86_64.rpm | 49 kB 00:00:00 (28/32): rsync-3.1.2-4.el7.x86_64.rpm | 403 kB 00:00:00 (29/32): perl-threads-shared-1.43-6.el7.x86_64.rpm | 39 kB 00:00:00 (30/32): perl-Pod-Usage-1.63-3.el7.noarch.rpm | 27 kB 00:00:00 (31/32): perl-Text-ParseWords-3.29-4.el7.noarch.rpm | 14 kB 00:00:00 (32/32): perl-Encode-2.51-7.el7.x86_64.rpm | 1.5 MB 00:00:08 ----------------------------------------------------------------------------------------------- Total 1.9 MB/s | 16 MB 00:00:08 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:perl-parent-0.225-244.el7.noarch 1/32 Installing : perl-HTTP-Tiny-0.033-3.el7.noarch 2/32 Installing : perl-podlators-2.5.1-3.el7.noarch 3/32 Installing : perl-Pod-Perldoc-3.20-4.el7.noarch 4/32 Installing : 1:perl-Pod-Escapes-1.04-294.el7_6.noarch 5/32 Installing : perl-Encode-2.51-7.el7.x86_64 6/32 Installing : perl-Text-ParseWords-3.29-4.el7.noarch 7/32 Installing : perl-Pod-Usage-1.63-3.el7.noarch 8/32 Installing : 4:perl-libs-5.16.3-294.el7_6.x86_64 9/32 Installing : 4:perl-macros-5.16.3-294.el7_6.x86_64 10/32 Installing : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 11/32 Installing : perl-Exporter-5.68-3.el7.noarch 12/32 Installing : perl-constant-1.27-2.el7.noarch 13/32 Installing : perl-Time-Local-1.2300-2.el7.noarch 14/32 Installing : perl-Socket-2.010-4.el7.x86_64 15/32 Installing : perl-Carp-1.26-244.el7.noarch 16/32 Installing : perl-Storable-2.45-3.el7.x86_64 17/32 Installing : perl-PathTools-3.40-5.el7.x86_64 18/32 Installing : perl-Scalar-List-Utils-1.27-248.el7.x86_64 19/32 Installing : 1:perl-Pod-Simple-3.28-4.el7.noarch 20/32 Installing : perl-File-Temp-0.23.01-3.el7.noarch 21/32 Installing : perl-File-Path-2.09-2.el7.noarch 22/32 Installing : perl-threads-shared-1.43-6.el7.x86_64 23/32 Installing : perl-threads-1.87-4.el7.x86_64 24/32 Installing : perl-Filter-1.49-3.el7.x86_64 25/32 Installing : perl-Getopt-Long-2.40-3.el7.noarch 26/32 Installing : 4:perl-5.16.3-294.el7_6.x86_64 27/32 Installing : 1:perl-Error-0.17020-2.el7.noarch 28/32 Installing : perl-TermReadKey-2.30-20.el7.x86_64 29/32 Installing : rsync-3.1.2-4.el7.x86_64 30/32 Installing : perl-Git-1.8.3.1-20.el7.noarch 31/32 Installing : git-1.8.3.1-20.el7.x86_64 32/32 Verifying : perl-HTTP-Tiny-0.033-3.el7.noarch 1/32 Verifying : perl-threads-shared-1.43-6.el7.x86_64 2/32 Verifying : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 3/32 Verifying : 1:perl-Pod-Escapes-1.04-294.el7_6.noarch 4/32 Verifying : perl-Exporter-5.68-3.el7.noarch 5/32 Verifying : perl-constant-1.27-2.el7.noarch 6/32 Verifying : perl-PathTools-3.40-5.el7.x86_64 7/32 Verifying : 1:perl-parent-0.225-244.el7.noarch 8/32 Verifying : perl-TermReadKey-2.30-20.el7.x86_64 9/32 Verifying : 4:perl-libs-5.16.3-294.el7_6.x86_64 10/32 Verifying : perl-File-Temp-0.23.01-3.el7.noarch 11/32 Verifying : 1:perl-Pod-Simple-3.28-4.el7.noarch 12/32 Verifying : perl-Time-Local-1.2300-2.el7.noarch 13/32 Verifying : 4:perl-macros-5.16.3-294.el7_6.x86_64 14/32 Verifying : perl-Socket-2.010-4.el7.x86_64 15/32 Verifying : perl-Carp-1.26-244.el7.noarch 16/32 Verifying : 1:perl-Error-0.17020-2.el7.noarch 17/32 Verifying : git-1.8.3.1-20.el7.x86_64 18/32 Verifying : perl-Storable-2.45-3.el7.x86_64 19/32 Verifying : perl-Scalar-List-Utils-1.27-248.el7.x86_64 20/32 Verifying : perl-Git-1.8.3.1-20.el7.noarch 21/32 Verifying : rsync-3.1.2-4.el7.x86_64 22/32 Verifying : perl-Pod-Usage-1.63-3.el7.noarch 23/32 Verifying : perl-Encode-2.51-7.el7.x86_64 24/32 Verifying : perl-Pod-Perldoc-3.20-4.el7.noarch 25/32 Verifying : perl-podlators-2.5.1-3.el7.noarch 26/32 Verifying : perl-File-Path-2.09-2.el7.noarch 27/32 Verifying : perl-threads-1.87-4.el7.x86_64 28/32 Verifying : perl-Filter-1.49-3.el7.x86_64 29/32 Verifying : perl-Getopt-Long-2.40-3.el7.noarch 30/32 Verifying : perl-Text-ParseWords-3.29-4.el7.noarch 31/32 Verifying : 4:perl-5.16.3-294.el7_6.x86_64 32/32 Installed: git.x86_64 0:1.8.3.1-20.el7 Dependency Installed: perl.x86_64 4:5.16.3-294.el7_6 perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7 perl-Error.noarch 1:0.17020-2.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7 perl-Git.noarch 0:1.8.3.1-20.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-294.el7_6 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-4.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-TermReadKey.x86_64 0:2.30-20.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-294.el7_6 perl-macros.x86_64 4:5.16.3-294.el7_6 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7 rsync.x86_64 0:3.1.2-4.el7 Complete! [root@192 ~]# git clone git@192.168.1.30:/home/git/tomcat-java-demo.git Cloning into 'tomcat-java-demo'... The authenticity of host '192.168.1.30 (192.168.1.30)' can't be established. ECDSA key fingerprint is SHA256:J2OyGebNBy8rCxm7BLidiHnGY0ikFPrTkCrqMdvyJ78. ECDSA key fingerprint is MD5:f1:9e:b6:a5:d8:85:8c:89:06:f8:8d:87:8c:5a:97:a1. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.30' (ECDSA) to the list of known hosts. git@192.168.1.30's password: Permission denied, please try again. git@192.168.1.30's password: warning: You appear to have cloned an empty repository. [root@192 ~]# ls anaconda-ks.cfg tomcat-java-demo [root@192 ~]# cd tomcat-java-demo/ [root@192 tomcat-java-demo]# ls [END] 2019/3/21 11:35:15

    4. 先在192.168.1.40机器上,编写代码(实际项目的代码,这里为了演示方便从github上拉取一个开源的代码),再将这些代码提交到192.168.1.30上的git代码版本仓库里,

    [root@192 ~]# mv tomcat-java-demo tomcat-java-demo.bak
    #从https://github.com/lizhenliang/tomcat-java-demo拉取代码
    [root@192 ~]# git clone https://github.com/lizhenliang/tomcat-java-demo
    Cloning into 'tomcat-java-demo'...
    remote: Enumerating objects: 229, done.
    remote: Counting objects: 100% (229/229), done.
    remote: Compressing objects: 100% (205/205), done.
    remote: Total 229 (delta 25), reused 180 (delta 5), pack-reused 0
    Receiving objects: 100% (229/229), 4.52 MiB | 46.00 KiB/s, done.
    Resolving deltas: 100% (25/25), done.
    [root@192 ~]# ls
    anaconda-ks.cfg  tomcat-java-demo  tomcat-java-demo.bak
    [root@192 ~]# cd tomcat-java-demo
    [root@192 tomcat-java-demo]# ls
    doc  Dockerfile  LICENSE  pom.xml  README.md  src

     因为代码是从github上拉取的,需要修改隐藏的  .git/config文件, 修改url 为私有git仓库地址

    #提交代码到本地暂存区
    [root@192 tomcat-java-demo]# git add .
    #提交代码到本地代码仓库 [root@
    192 tomcat-java-demo]# git commit -m 'all' # On branch master nothing to commit, working directory clean
    #推送代码到中央代码仓库,至于origin 和master是什么,请看 .git/config文件 [root@
    192 tomcat-java-demo]# git push origin master

     5. 到192.168.1.30机器上 查看代码是否提交到了仓库 

    很遗憾, 在代码仓库下,是没法直接查看的。 

    我们可以通过其他的方式,在安装git工具的环境下,clone项目下来

    另一个方法:在windows上安装 TortoiseGIT工具,进行如下配置后, clone项目到本地

    另外, TortoiseGIT工具在windows上非常好用。 对测试人员来说, 看代码提交日志,非常方便 

    6. 在192.168.1.40机器上部署jenkins,安装jdk,maven

       将准备好的jdk-8u45-linux-x64.tar.gz 

    apache-maven-3.5.0-bin.tar.gz 

    jenkins.war (下载地址:http://mirrors.jenkins.io/war-stable/latest/jenkins.war)

    apache-tomcat-8.0.46.tar.gz文件放到 192.168.1.40 机器上, 不知道如何放文件 可参考 Docker: 构建Nginx,PHP,Tomcat基础镜像 

      解压maven,jdk 配置jdk环境变量

    [root@192 ~]# ls
    anaconda-ks.cfg                jdk-8u45-linux-x64.tar.gz  tomcat-java-demo
    apache-maven-3.5.0-bin.tar.gz  jenkins.war                tomcat-java-demo.bak
    apache-tomcat-8.0.46.tar.gz [root@
    192 ~]# tar xzvf jdk-8u45-linux-x64.tar.gz ... [root@192 ~]# tar zxvf apache-maven-3.5.0-bin.tar.gz [root@192 ~]# mv apache-maven-3.5.0 /usr/local/maven [root@192 ~]# mv jdk1.8.0_45/ /usr/local/jdk [root@192 ~]# vi /etc/profile
    在文件最后追加
    JAVA_HOME=/usr/local/jdk
    PATH=$PATH:$JAVA_HOME/bin
    export JAVA_HOME PATH

    [root@192 ~]# source /etc/profile
    [root@192 ~]# java -version
    java version "1.8.0_45"
    Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

       部署jenkins 

    [root@192 ~]# tar zxvf apache-tomcat-8.0.46.tar.gz 
    [root@192 ~]# mv apache-tomcat-8.0.46 /usr/local/jenkins_tomcat
    [root@192 ~]# cd /usr/local/jenkins_tomcat
    [root@192 jenkins_tomcat]# ls
    bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
    #删除 webapps下的所有内容(默认都是一些测试页面,这里用不到,所以删除) [root@
    192 jenkins_tomcat]# cd webapps/ [root@192 webapps]# ls docs examples host-manager manager ROOT [root@192 webapps]# rm -rf *
    #移动jenkins到webapps下,并重命名为 ROOT.war,因为浏览器默认访问地址输入后,默认访问路径是 ROOT下的index.html. 如果不重命名, 浏览器访问时,需要加jenkins.war中的jenkins这个关键字 [root@192 webapps]# mv /root/jenkins.war ROOT.war [root@192 webapps]# cd ../bin [root@192 bin]# ./startup.sh Using CATALINA_BASE: /usr/local/jenkins_tomcat Using CATALINA_HOME: /usr/local/jenkins_tomcat Using CATALINA_TMPDIR: /usr/local/jenkins_tomcat/temp Using JRE_HOME: /usr/local/jdk Using CLASSPATH: /usr/local/jenkins_tomcat/bin/bootstrap.jar:/usr/local/jenkins_tomcat/bin/tomcat-juli.jar Tomcat started.
    # catalina.out里面有jenkins登陆页面的初始密码 [root@
    192 bin]# tail ../logs/catalina.out

    到此,jenkins部署好了,可以通过浏览器 http://192.168.1.40:8080 进行访问了

     

    [Skip plugin installations]->其他步骤 设置jenkins 管理界面登陆用户和密码,直到下一步完成。

      jenkins插件安装 

    登陆后,系统管理,插件管理,advanced标签页,拉到最下面 Update site 里,默认的地址, https 修改成http。(在上面jenkins提示offline,所以连接官方安装插件会有问题,这里https修改成http后,大多数情况,能解决插件安装连接不上的问题), submit 后,点check now 

    安装插件: Available标签里选择pipeline ,-> intall without restart,

    安装完毕后,可以在intalled标签里,看到已安装的插件

    这些都是pipeline勾选后,默认安装的关联插件。

    Jenkins里创建job

    New job->Enter an item name:tomcat-java-demo,类型,选流水线->OK,Configure

    pipleline完整脚本

    node { 
       // 拉取代码 git从git仓库中拉取代码,采用的是免交互方式 checkout如何产生?参考 Docker:pipeline编写基本技巧- jenkins配置通过密钥拉取git源码管理仓库的代码
       stage('Git Checkout') { 
        checkout([$class: 'GitSCM', branches: [[name: '${branch}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'a3b0ae29-ebaa-46b8-a75b-27c86c31fbba', url: 'git@192.168.1.30:/home/git/tomcat-java-demo.git']]])
       }
       // 代码编译
       stage('Maven Build') {
            sh '''
            export JAVA_HOME=/usr/local/jdk
            /usr/local/maven/bin/mvn clean package -Dmaven.test.skip=true
            '''
       }
       // 项目打包到镜像并推送到镜像仓库
       stage('Build and Push Image') {
    sh '''
    REPOSITORY=192.168.1.30/library/tomcat-java-demo:${branch}
    cat > Dockerfile << EOF
    FROM 192.168.1.30/library/tomcat:v1
    MAINTAINER meimei
    RUN rm -rf /usr/local/tomcat/webapps/*
    ADD target/*.war /usr/local/tomcat/webapps/ROOT.war
    EOF
    docker build -t $REPOSITORY .
    docker login 192.168.1.30 -u admin -p Harbor12345
    docker push $REPOSITORY
    '''
       }
       // 部署到Docker主机
       stage('Deploy to Docker') {
            sh '''
            REPOSITORY=192.168.1.30/library/tomcat-java-demo:${branch}
            docker rm -f tomcat-java-demo |true
            docker pull $REPOSITORY 
            docker container run -d --name tomcat-java-demo -p 88:8080 $REPOSITORY
            '''
       }
    }

    上面脚本中有个变量  ${branch},branch这个变量是用了jenkins的参数化构建功能

    选中job->Configure

    配置好后,save。

    jenkins机器需要往Harbor镜像仓库推送镜像,需要将Harbor服务器的地址设置成为jenkins所在机器的docker服务可信任Harbor地址

    //192.168.1.40 机器上
    [root@192 ~]# cat /etc/docker/daemon.json {"registry-mirrors": ["http://f1361db2.m.daocloud.io"]} [root@192 ~]# vi /etc/docker/daemon.json {"registry-mirrors": ["http://f1361db2.m.daocloud.io"], "insecure-registries":["192.168.1.30"]}
    //保存后退出
    [root@192 ~]# systemctl restart docker

    (对这部分理解有困难的,可参考 Docker: 企业级镜像仓库Harbor的使用

    执行构建

     

    到此构建成功。 

    接下来我们验证一下 Harbor镜像仓库里是否有新的推送上来的tomcat-java-demo镜像,和jenkins服务器上是否有运行着的tomcat服务,并且通过网页访问是否成功 

    到此,测试成功。 

    总结一下:jenkins完成了如下流程

    jenkins拉取git仓库的代码->maven编译打包产品成war包->把war包构建进docker镜像->将镜像推送到Harbor镜像仓库->从Harbor镜像仓库拉取镜像,并运行镜像

    作者: 梅梅~

    出处: https://www.cnblogs.com/keeptesting

    关于作者:专注软件测试,测试运维相关工作,请多多赐教!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 欢迎沟通交流加微信联系。 微信:yangguangkg20140901 暗号:博客园.

  • 相关阅读:
    VysorPro助手
    Play 2D games on Pixel running Android Nougat (N7.1.2) with Daydream View VR headset
    Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset
    Native SBS for Android
    ADB和Fastboot最新版的谷歌官方下载链接
    How do I install Daydream on my phone?
    Daydream Controller手柄数据的解析
    蓝牙BLE传输性能及延迟分析
    VR(虚拟现实)开发资源汇总
    Android(Java)控制GPIO的方法及耗时分析
  • 原文地址:https://www.cnblogs.com/keeptesting/p/10570359.html
Copyright © 2011-2022 走看看