• DevOps之jenkins与docker流水线


    第一部分: 基于docker安装部署jenkins master节点

    1) 安装部署docker-ce和docker-compose

    yum -y install wget iproute tee  net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntplibaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack ntpdate  yum-utils device-mapper-persistent-data  lvm2
    
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    yum clean all
    
    yum makecache fast
    
    #安装docker-ce
    
    yum install -y docker-ce-19.03.7-3.el7
    
    systemctl enable docker && systemctl start docker
    
    #配置docker
    
    cat > /etc/docker/daemon.json <<EOF
    {
       "registry-mirrors": ["https://ziqva2l2.mirror.aliyuncs.com"],
      "graph": "/data/docker",
      "exec-opts":["native.cgroupdriver=systemd"],
       "log-driver":"json-file",
       "log-opts": {
        "max-size": "100m"
       },
       "storage-driver":"overlay2",
      "storage-opts": [
       "overlay2.override_kernel_check=true"
      ]
    }
     EOF
    
     
    
    systemctl restart docker
    
     
    
    #安装docker-compose
    
    curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    
    chmod +x /usr/local/bin/docker-compose
    
     
    

      

      

    2)利用docker-compose部署jenkins master节点

    mkdir /data/jenkins
    cd /data/jenkins
    
    cat >docker-compose.yaml <<-EOF
    version: '3'
    services:
      jenkins:
        restart: always
        image: jenkins/jenkins:2.235.5-lts-centos7 
        container_name: jenkins
        ports:
          - '8080:8080'
          - '50000:50000'
        user: root
        privileged: true
        restart: always
        volumes:
          - /data/jenkins/data:/var/jenkins_home
          - /var/run/docker.sock:/var/run/docker.sock
          - /usr/bin/docker:/usr/bin/docker
          - /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
        environment:
          JAVA_OPTS: '-Xmx2048m -Xms2048m -Duser.timezone=Asia/Shanghai'
    EOF
    
    mkdir /data/jenkins/data   && chown -R 1000.1000 /data/jenkins/data
    
    docker-compose up -d
    
    #查看
    [root@node01 jenkins]# docker-compose ps
    Name Command State Ports 
    ---------------------------------------------------------------------------------------------------
    jenkins /sbin/tini -- /usr/local/b ... Up 0.0.0.0:50000->50000/tcp, 0.0.0.0:8080->8080/tcp
    
     
    
     
    
    #提升下载插件的速度
    
    参考: https://github.com/jenkins-zh/jenkins-zh
    
     
    
    cd /data/jenkins/data 
    
    1)先把hudson.model.UpdateCenter.xml里面的内容清空
    
    2)重新编写hudson.model.UpdateCenter.xml
    
    <?xml version='1.1' encoding='UTF-8'?>
    <sites>
       <site>
          <id>default</id>
          <url>https://updates.jenkins-zh.cn/update-center.json</url>
       </site>
    </sites>
    
    3)添加证书
    
    cd war/WEB-INF/update-center-rootCAs/
    
    rm -rf *
    
     
    
    cat >mirror-adapter.crt <<-EOF
    
    -----BEGIN CERTIFICATE-----
    MIICcTCCAdoCCQD/jZ7AgrzJKTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJD
    TjELMAkGA1UECAwCR0QxCzAJBgNVBAcMAlNaMQ4wDAYDVQQKDAV2aWhvbzEMMAoG
    A1UECwwDZGV2MREwDwYDVQQDDAhkZW1vLmNvbTEjMCEGCSqGSIb3DQEJARYUYWRt
    aW5AamVua2lucy16aC5jb20wHhcNMTkxMTA5MTA0MDA5WhcNMjIxMTA4MTA0MDA5
    WjB9MQswCQYDVQQGEwJDTjELMAkGA1UECAwCR0QxCzAJBgNVBAcMAlNaMQ4wDAYD
    VQQKDAV2aWhvbzEMMAoGA1UECwwDZGV2MREwDwYDVQQDDAhkZW1vLmNvbTEjMCEG
    CSqGSIb3DQEJARYUYWRtaW5AamVua2lucy16aC5jb20wgZ8wDQYJKoZIhvcNAQEB
    BQADgY0AMIGJAoGBAN+6jN8rCIjVkQ0Q7ZbJLk4IdcHor2WdskOQMhlbR0gOyb4g
    RX+CorjDRjDm6mj2OohqlrtRxLGYxBnXFeQGU7wWjQHyfKDghtP51G/672lXFtzB
    KXukHByHjtzrDxAutKTdolyBCuIDDGJmRk+LavIBY3/Lxh6f0ZQSeCSJYiyxAgMB
    AAEwDQYJKoZIhvcNAQELBQADgYEAD92l26PoJcbl9GojK2L3pyOQjeeDm/vV9e3R
    EgwGmoIQzlubM0mjxpCz1J73nesoAcuplTEps/46L7yoMjptCA3TU9FZAHNQ8dbz
    a0vm4CF9841/FIk8tsLtwCT6ivkAi0lXGwhX0FK7FaAyU0nNeo/EPvDwzTim4XDK
    9j1WGpE=
    -----END CERTIFICATE-----
    
     
    
    EOF
    
     
    
    #重启jenkins镜像
    
    docker restart jenkins
    

      

      

      

  • 相关阅读:
    关于LWIP断开网线后重连问题(热插拔问题)
    仿招商银行载入loading效果
    x264代码剖析(十五):核心算法之宏块编码中的变换编码
    Spring Boot + Jersey
    HDU
    OVS中对于用户层和datapath层的多个通道利用epoll进行控制
    Apache的.htaccess项目根文件夹伪静态设置规则
    poj 3071 Football(线段树+概率)
    AS2.0鼠标尾随和拖动代码
    RelativeLayout经常使用属性介绍及实例解说
  • 原文地址:https://www.cnblogs.com/louis2008/p/devops-jenkins-docker.html
Copyright © 2020-2023  润新知