<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      centos7.9環境基于docker和pipeline構建jenkins的ci平臺

      image

      1、部署gitlab

      1.1 部署gitlab

      docker run -d \
        --name gitlab \
        -p 8443:443 \
        -p 9999:80 \
        -p 9998:22 \
        -v /data/gitlab/config:/etc/gitlab \
        -v /data/gitlab/logs:/var/log/gitlab \
        -v /data/gitlab/data:/var/opt/gitlab \
        -v /etc/localtime:/etc/localtime \
        --restart=always \
        lizhenliang/gitlab-ce-zh:latest
      

      訪問地址:http://IP:9999

      初次會先設置管理員密碼 ,然后登陸,默認管理員用戶名root,密碼就是剛設置的。

      root:admin888

      1.2 創建項目,提交測試代碼

      進入后先創建項目,提交代碼,以便后面測試
      image
      image

      yum install -y git
      
      mkdir git_demoair
      cd git_demoair
      # 將代碼解壓,并且推送到git倉庫中
      unzip tomcat-java-demo-master.zip 
      cd tomcat-java-demo-master
      git init
      git config --global user.email "admin@163.com"
      git config --global user.name "admin"
      git remote add origin http://10.11.0.232:9999/root/java-demo.git
      git add .
      git commit -m "init commit"
      git push -u origin master
      
      # git刪除目錄命令(保留目錄:git rm -r --cached src db Dockerfile LICENSE pom.xml README.md)
      git rm -r xx目錄
      git commit -m "delete xx目錄"
      git push origin master
      
      

      2、部署Harbor鏡像倉庫

      2.1 安裝docker與docker-compose

      # wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
      # yum install docker-ce -y
      # yum install docker-compose
      # systemctl start docker
      # systemctl enable docker
      

      2.2 解壓離線包部署

      # tar zxvf harbor-offline-installer-v1.9.1.tgz
      # cd harbor
      # vi harbor.yml
      hostname: 10.11.0.150
      port: 8888
      # ./prepare
      # ./install.sh
      

      2.3 在Jenkins主機配置Docker可信任

      由于habor未配置https,還需要在docker配置可信任。

      # cat /etc/docker/daemon.json 
      {"registry-mirrors": ["http://qj4ewogx.mirror.aliyuncs.com"],
        "insecure-registries": ["10.11.0.150"]
      }
      # systemctl restart docker
      

      3、部署Jenkins

      3.1 準備JDK和Maven環境

      # tar xf jdk-8u261-linux-x64.tar.gz
      # mv jdk1.8.0_261 /usr/local/jdk
      # tar zxf apache-maven-3.6.1-bin.tar.gz
      # mv apache-maven-3.6.1 /usr/local/maven
      
      docker run -d --name jenkins -p 80:8080 -p 50000:50000 -u root  \
         -v /data/jenkins_home:/var/jenkins_home \
         -v /var/run/docker.sock:/var/run/docker.sock   \
         -v /usr/bin/docker:/usr/bin/docker \
         -v /usr/local/maven:/usr/local/maven \
         -v /usr/local/jdk:/usr/local/jdk \
         -v /etc/localtime:/etc/localtime \
         --name jenkins jenkins/jenkins:lts
      

      密碼: admin/admin888
      maven 的設置
      maven設置網絡代理 和 源地址


      ccproxy
      true
      http
      10.11.0.150
      808
      127.0.0.1

      nexus-aliyun * Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public ![image](https://img2020.cnblogs.com/blog/1087718/202108/1087718-20210810134052719-2074253109.png) 3.2 準備tomcat環境

      基于 centos:7 鏡像制作自定義mycentos:v2

      # 交互式運行centos:7
      
      # docker run -it --name=mycentos
      
      # 在運行的mycentos容器中修改網絡
      
      # vi /etc/profile
      
      export http_proxy=http://10.11.0.150:808
      export https_proxy="https://10.11.0.150:808"
      export ftp_proxy=http://10.11.0.150:808
      export socks_proxy="socks://10.11.0.150:808/"
      export http_proxy=http://10.11.0.150:808
      export https_proxy=https://10.11.0.150:808
      
      # echo "proxy=http://10.11.0.150:808" >> /etc/yum.conf
      # source /etc/profile
      # 替換yum源
      mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
      curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
      
      # 安裝常用工具
      yum install -y iproute net-tools telnet wget curl tree iftop htop iotop lrzsz
      
      # 提交鏡像為 mycentos:v1
      # docker commit mycentos mycentos:v1
      

      編譯安裝tomcat

      下載地址:https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz

      編寫Dockerfile

      FROM mycentos:v2
      LABEL maintainer www.chinasoft.com
      
      ENV VERSION=8.5.43
      
      RUN source /etc/profile && \
              yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && \
      	yum clean all && \
      	rm -rf /var/cache/yum/*
      COPY apache-tomcat-${VERSION}.tar.gz /
      RUN source /etc/profile && \
          tar zxf apache-tomcat-${VERSION}.tar.gz && \
          mv apache-tomcat-${VERSION} /usr/local/tomcat && \
          rm -rf apache-tomcat-${VERSION}.tar.gz /usr/local/tomcat/webapps/* && \
          mkdir /usr/local/tomcat/webapps/test && \
          echo "ok" > /usr/local/tomcat/webapps/test/status.html && \
          sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat/bin/catalina.sh && \
          ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      
      ENV PATH $PATH:/usr/local/tomcat/bin
      
      WORKDIR /usr/local/tomcat
      
      EXPOSE 8080
      CMD ["catalina.sh", "run"]
      
      
      
      java包
      
      FROM java:8-jdk-alpine
      LABEL maintainer www.chinasoft.com
      
      ENV JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"
      RUN apk add -U tzdata && \
          ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      COPY ./target/eureka-service.jar ./
      EXPOSE 8888
      CMD java-jar $JAVA_OPTS /eureka-service.jar
      

      3.3 安裝插件

      如果安裝慢,可以更新一下插件源地址

      cd /data/jenkins_home/updates
      sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json 
      sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
      

      系統管理-->插件管理-->Installed

      搜索git/pipeline,點擊安裝。

      4、發布測試

      4.1 添加參數化構建

      This project is parameterized -> String Parameter

      Name:Branch # 變量名,下面腳本中調用

      Default Value:master # 默認分支

      Description:發布的代碼分支 # 描述

      4.2 Pipeline腳本

      def registry = "10.11.0.232"
      def project = "welcome"
      def app_name = "demo"
      def image_name = "${registry}/${project}/${app_name}:${Branch}-${BUILD_NUMBER}"
      def git_address = "http://10.11.0.232:9999/root/java-demo.git"
      def docker_registry_auth = "fb0e0bfe-7875-40a0-bc08-8898c6644cca"
      # jenkins憑證id
      def git_auth = "e7c91602-823f-484c-ad6f-d1497bf2d36c"
      
      pipeline {
          agent any
          stages {
              stage('拉取代碼'){
                  steps {
                    checkout([$class: 'GitSCM', branches: [[name: '${Branch}']], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_address}"]]])
                  }
              }
      
              stage('代碼編譯'){
                 steps {
                   sh """
                      JAVA_HOME=/usr/local/jdk
                      PATH=$JAVA_HOME/bin:/usr/local/maven/bin:$PATH
                      mvn clean package -Dmaven.test.skip=true
                      """ 
                 }
              }
      
              stage('構建鏡像'){
                 steps {
                      withCredentials([usernamePassword(credentialsId: "${docker_registry_auth}", passwordVariable: 'password', usernameVariable: 'username')]) {
                      sh """
                        echo '
                          FROM ${registry}/library/tomcat:v1
                          LABEL maitainer chinasoft
                          RUN rm -rf /usr/local/tomcat/webapps/*
                          ADD target/*.war /usr/local/tomcat/webapps/ROOT.war
                        ' > Dockerfile
                        docker build -t ${image_name} .
                        docker login -u ${username} -p '${password}' ${registry}
                        docker push ${image_name}
                      """
                      }
                 } 
              }
      
              stage('部署到Docker'){
                 steps {
                    sh """
                    REPOSITORY=${image_name}
                    docker rm -f tomcat-java-demo |true
                    docker container run -d --name tomcat-java-demo -p 88:8080 ${image_name}
                    """
                  }
              }
          }
      }
      

      4.3 添加憑據

      1、添加拉取git代碼憑據,并獲取id替換到上面git_auth變量值。
      image
      image

      2、添加拉取harbor鏡像憑據,并獲取id替換到上面docker_registry_auth變量值。

      harbor的jenkins憑據

      image

      4.4 通過jenkins進行代碼的發布

      image
      image
      1、可以看到通過jenkins和pipeline能順利編譯并運行起項目

      2、模擬代碼修改并提交gitlab,并且重新執行jenkins編譯,可以看到成功修改

      [root@node01 git_demoair]# vim src/main/resources/templates/index.ftl
      [root@node01 git_demoair]# git add .
      [root@node01 git_demoair]# git commit -m "modify index.ftl"
      image

      posted @ 2021-08-10 12:00  reblue520  閱讀(188)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久久久久人妻一区精品| 国产精品一区二区香蕉| 久久国内精品自在自线91| 久久精品国产一区二区蜜芽| 日本高清色WWW在线安全| 男女猛烈激情xx00免费视频| 玩弄放荡人妻少妇系列| 少妇办公室好紧好爽再浪一点| 韩国19禁无遮挡啪啪无码网站| 日本亚洲一区二区精品久久| 亚洲一区成人在线视频| 国产良妇出轨视频在线观看| 激情国产一区二区三区四区 | 中文字幕亚洲男人的天堂| 亚洲国产一区二区在线| 99福利一区二区视频| 亚洲男人天堂东京热加勒比| 亚洲成人精品综合在线| 亚洲人成网站在线在线观看| 成人av天堂网在线观看| 国产精品亚洲А∨怡红院| 天天躁日日躁狠狠躁av麻豆男男| 欧美激情一区二区| 日韩精品二区三区四区| 久久久久久免费一区二区三区| 丝袜高潮流白浆潮喷在线播放| 人妻少妇| 福利一区二区在线视频| 国产96在线 | 亚洲| 免费观看成人毛片a片| 精品国精品国自产在国产| 久久精品波多野结衣| 亚洲成色在线综合网站| 国产精品一二三入口播放| 中文字幕av无码免费一区| 熟女少妇精品一区二区| 亚洲欧美综合精品成人网站| 色综合色国产热无码一| 九江市| 亚洲精品一区二区三区大| 国产精品中文av专线|