젠킨스는 GitHub의 프로젝트 도커 이미지를 만든

이 문서는 이전에도 GitHub의 및 실행 파이프 라인에서 스크립트를 다운로드하려고 젠킨스 파이프 라인의 기본적인 이해가 "젠킨스 파이프 라인 (파이프 라인) 전투"시리즈의 세 번째이며, 전투는 오늘, 파이프 라인의 스크립트의 역할을하는 스크립트를 작성하는 것입니다 자바 프로그램 GitHub의에서 (메이븐 빌드)를 다운로드 한 다음 프로젝트 빌드를 편집하고 미러 이미지로 부두 노동자가 만든 결과를 구축하고 개인 창고를 밀어;

기사 주소의 시리즈

  1. "젠킨스 파이프 라인 전투 (파이프 라인) : 배포에서 경험하는" ;
  2. "GitHub의에 젠킨스 실행 파이프 라인 스크립트를하자" ;
  3. "젠킨스는 GitHub의 프로젝트 도커 이미지를했다" ;

    환경 정보

    빨리 젠킨스를 배포하기 위해이 실제가 부두 노동자를 사용, 실제 전투 전에 다음 환경을 준비하시기 바랍니다
  4. 운영 체제 : 우분투 18.04.2 LT
  5. 젠킨스 : 2.176.3
  6. 도커 : 19.03.1
  7. 개인 미러 창고 : 하버 1.9.0

    소개 전투

    오늘의 실제 기능은 아래와 같습니다 :
    여기에 그림 삽입 설명

    부두 노동자 개인 창고 미러 하버 소개

    구축 된 부두 노동자의 미러, 미러가 도커웨어 하우스 하버에 푸시 될 것이다, 이것은 구축하기 위해 자세한 단계를 참조하십시오, 내 자신의 창고 로컬 구축 "에 CentOS 배포 하버 이미지웨어 하우스를"
    당신은 또한 계정 hub.docker.com 사이트가있는 경우 거울은 직접이 사이트에 푸시 할 수있다, 그래서 우리는 할 당신에게 거울을 사용할 수 있습니다.

    사용 GitHub의에 프로젝트

    이 GitHub의에 실제 프로젝트가 컴파일 될 다음 도커 거울을 건설하고 나는 Maven을 기반으로 프로젝트를 구축 SpringBoot 준비하고 것, 그것은 안녕하세요 세계 수준의 프로젝트, 유일한 특별 사용의 pom.xml이다 지브에 플러그인 SpringBoot 도커 이미지를 구축하는 프로젝트.

이 프로젝트의 소스 코드는 GitHub의 다음 표에 주소와 링크 정보에서 다운로드 할 수 있습니다
| 이름 | 링크 | 참고 |
| : -------- | : ---- | : ---- |
| 프로젝트 홈 | https://github.com/zq2599/blog_demos | | GitHub의에서 프로젝트의 홈 페이지
| 자식 저장소 주소 (HTTPS) | https://github.com/zq2599/blog_demos.git | 프로젝트의 소스 코드 저장소 주소, HTTPS 프로토콜 |
| 자식 저장소 주소 (SSH) | [email protected] : zq2599 / blog_demos.git | 프로젝트의 소스 코드 저장소 주소, SSH 프로토콜 |

: 망할 놈의 프로젝트는 다음과 같이 여러 폴더, hellojib 폴더에이 장에서 응용 프로그램을 보유하고
여기에 그림 삽입 설명
pom.xml 파일이 프로젝트에 대해 살펴, 지브에 초점을 플러그인 부분은 다음과 같습니다 :

<!--使用jib插件-->
            <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>1.3.0</version>
                <configuration>
                    <!--from节点用来设置镜像的基础镜像,相当于Docerkfile中的FROM关键字-->
                    <from>
                        <!--使用openjdk官方镜像,tag是8-jdk-stretch,表示镜像的操作系统是debian9,装好了jdk8-->
                        <image>openjdk:8-jdk-stretch</image>
                    </from>
                    <to>
                        <!--镜像名称和tag,使用了mvn内置变量${project.version},表示当前工程的version-->
                        <image>bolingcavalry/hellojib:${project.version}</image>
                    </to>
                    <!--容器相关的属性-->
                    <container>
                        <!--jvm内存参数-->
                        <jvmFlags>
                            <jvmFlag>-Xms4g</jvmFlag>
                            <jvmFlag>-Xmx4g</jvmFlag>
                        </jvmFlags>
                        <!--要暴露的端口-->
                        <ports>
                            <port>8080</port>
                        </ports>
                    </container>
                </configuration>
            </plugin>
        </plugins>
    </build>

사용 지브에서 자세한 내용을 참조 도커 미러링을 구성하기 위해 프로젝트를 SpringBoot 것 "전투 (받는다는 버전 플러그인) 도커 및 지브" ;

전투에 개인 GitHub의 저장소로

  1. 소스 코드의 대부분은 공개되지 않습니다, 그래서 여기가 아니라 개인 GitHub의 저장소를 구축 계정으로 실제 작업을 촬영, 주소는 다음과 같습니다 HTTPS : //github.com/zq2599/pipeline.git, 앞서 언급 한 모든의 hellojib 공학 이 소스는 창고에 위치;
  2. 소스 코드 개인 창고를 다운로드 인증 파이프 라인이 필요, 인증은 나중에 얘기합니다.
  3. 이 전용 저장소는 저장소의 루트 아래에 프로젝트를 hellojib되지 hellojib 디렉토리 Maven 프로젝트 것은 거울의 구조가 사용될 수 있습니다 :
    여기에 그림 삽입 설명

    작업 젠킨스 만들기

  4. 라는 파일 만들기 빌드 이미지 파이프 라인 작업을 :
    여기에 그림 삽입 설명
  5. 빨간색 상자에 페이지 설정 작업 클릭과 같이 젠킨스를 돕기 위해 우리의 문법 도구에 대한 액세스는 GitHub의 파이프 라인을 다운로드 할 수있는 코드를 생성하기 위해 제공 조립 라인 구문 버튼 :
    여기에 그림 삽입 설명
  6. 젠킨스는 이제 다음 표에 따라, 우리는 보조 파이프 라인 스크립트를 작성 페이지를 작동 진입 :
    여기에 그림 삽입 설명
  7. 창에서도의 일련 번호에 따라, 구성 항목 GitHub의 계정과 암호를 설정 비밀 키를 가지고 :
    여기에 그림 삽입 설명
  8. 도 빨간색 박스에 도시 된 바와 같이, 단지 배치 풀다운 메뉴 키에서 만들어진 선택
    여기에 그림 삽입 설명
  9. 이 시점에서 빨간색 오류 전에 발견 할 수있다 (A 인증으로) 사라졌다, 그리고 파이프 라인 소스를 생성하는지도 아래 버튼을 빨간색 프레임을 클릭합니다 :
    여기에 그림 삽입 설명
  10. 있는 다음과 같이 전체 파이프 라인 스크립트를 읽고 체크 아웃 스크립트의 GitHub의 부분에서 다운로드 단계가 자동으로 이미지를 위에서 생성됩니다
pipeline {
    agent any
    tools {
        maven 'mvn-3.6.2'
    }
    stages {
        stage('Checkout') {
            steps {
                echo '从GitHub下载项目源码'
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'git-account-passwd', url: 'https://github.com/zq2599/pipeline.git']]])
            }
        }        
        stage('Build') {
            steps {
                echo '开始编译构建'
                sh 'cd hellojib && mvn clean compile -U -DskipTests jib:dockerBuild'
            }
        }
        stage('Push') {
            steps {
                echo '将本地Docker镜像推送到Harbor镜像仓库'
                echo '给当前镜像设置带有Harbor地址和项目名称的Tag,这样才能推送到Harbor的library项目之下'
                sh 'docker tag bolingcavalry/hellojib:0.0.1-SNAPSHOT 192.168.50.167/library/hellojib:0.0.1-SNAPSHOT'
                echo '登录Harbor'
                sh 'docker login 192.168.50.167 -u admin -p Harbor12345'
                echo '登录chengg成功,开始推送镜像'
                sh 'docker push 192.168.50.167/library/hellojib:0.0.1-SNAPSHOT'
            }
        }
        stage('Clean') {
            steps {
                echo '清理Maven工程'
                sh 'cd hellojib && mvn clean'
                echo '删除镜像'
                sh 'docker rmi bolingcavalry/hellojib:0.0.1-SNAPSHOT 192.168.50.167/library/hellojib:0.0.1-SNAPSHOT'
                echo '清理完毕'
            }
        }
    }
}
  1. 위의 스크립트는 파이프 라인을 채우기 위해 빌드 이미지 아래 그림과 같이 작업 파이프 라인 스크립트 입력 상자를 :
    여기에 그림 삽입 설명
  2. 빨간색 상자 아래를 클릭 즉시 구축 조립 라인 작업을 시작합니다 :
    여기에 그림 삽입 설명
  3. 구성이 올바른 경우와 같이, 다음 작업은 시간과 각 단계의 결과가 밖으로 표시하고, 성공적으로 실행할 수 있습니다 :
    여기에 그림 삽입 설명
  4. 당신이 임무 아키텍처를 실패하면 작은 공의 빨간색 상자 아래를 클릭, 그것은 오류의 원인을 확인하는 데 사용 작업 실행의 자세한 로그를 엽니 다 :
    여기에 그림 삽입 설명
  5. 하버 사이트 로그인, 당신은 거울을 통해 푸시 볼 수 있습니다 :
    여기에 그림 삽입 설명
    ### GitHub의의의 파이프 라인 스크립트
    기억, 파이프 라인 스크립팅이 설정 작업에 저장되어, 오늘날의 전투 "GitHub의에 젠킨스 실행 파이프 라인을 보자 스크립트 " 그것의 내용을 하나? 비즈니스 프로젝트 개발 단계에서보다 더 실용적 버전 제어를 구현하는 빌드 스크립트에서, 그래서 당신은 GitHub의에 저장 오늘의 파이프 라인 스크립트를 시도 할 수 있습니다.

당신이 컨테이너 환경 && CD 프로그램을 찾고 있다면 실제 GitHub의 프로젝트 파이프 라인 작업에 따라이 시점에서 완료, CI,이 기사는 당신에게 참조를주고 싶습니다.

추천

출처www.cnblogs.com/bolingcavalry/p/11568774.html