Jenkins를 사용하여 Docker 이미지 만들기
이 환경에서는 Jenkins build 서버를 미리 구성하고 실행하여 작동 방식을 시험하고 이해할 수 있습니다.이 절차는 플러그인을 설치하고 구축을 만들고 결과를 보는 데 도움을 줄 것입니다.
젠킨스 발사
다음 명령을 사용하여 Jenkins를 Docker 컨테이너로 시작합니다.
docker run -d -u root --name jenkins \
-p 8080:8080 -p 50000:50000 \
-v /root/jenkins_2112:/var/jenkins_home \
jenkins/jenkins:2.112-alpine
모든 플러그인과 설정이 호스트로 지속됩니다 (ssh)root@host01u/root/jenkins2112에 있습니다.8080 포트에서 웹 대시보드를 엽니다. 50000은 다른 Jenkins 에이전트와 통신하는 데 사용됩니다.마지막으로 그림에는 사이즈의 발자국을 줄이기 위한 알프스 기지가 있다.대시보드 로드
다음 URL에서 Jenkins의 대시보드를 로드할 수 있습니다.
http://localhost:8080/
비밀번호는
docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
Jenkins는 부팅을 완료하고 사용할 수 있는 데 몇 초가 걸릴 수 있습니다.다음 단계에서는 대시보드를 사용하여 플러그 인을 구성하고 Docker 이미지 구축을 시작합니다.Docker 플러그인 구성
첫 번째 단계는 Docker 플러그인을 구성하는 것입니다.이 플러그인은 젠킨스 클라우드 플러그인을 기반으로 한다.구축에 Docker가 필요할 때 플러그인을 통해 '클라우드 에이전트' 를 만듭니다.에이전트는 Docker 데몬과 대화하도록 구성된 Docker 컨테이너입니다.
Jenkins 구축 작업은 이 컨테이너를 사용하여 구축을 수행하고 중지하기 전에 이미지를 만듭니다.Docker 이미지는 구성된 Docker 데몬에 저장됩니다.그런 다음 Docker 레지스트리로 이미지를 밀어 넣어 배치할 수 있습니다.
작업:플러그인 설치
Docker 에이전트 추가
플러그인을 설치한 후에는 Docker 컨테이너를 시작하는 방법을 구성할 수 있습니다.설정은 플러그인 에이전트가 어떤 Docker 이미지를 사용하고 용기를 실행하고 어떤 Docker 수호 프로세스를 기반으로 하는지 알려 줍니다.
이 플러그인은 Docker를 클라우드 공급자로 보고 구축이 필요할 때 용기를 회전시킵니다.
작업:플러그인 구성
작업:Docker 프록시 템플릿 구성
구축 항목 작성
이 단계에서 새로운 프로젝트를 만들었습니다. 젠킨스는 우리의 새로운 에이전트를 통해 프로젝트를 구축할 것입니다.프로젝트 소스 코드는 https://github.com/thebleshbanz/ssm_docker.git에 있습니다.저장소에는 Dockerfile이 있습니다.Docker 이미지를 생성하는 방법에 대한 설명을 정의합니다.젠킨스는 우리의 프로젝트가 어떻게 구축되었는지 알 필요가 없다.
작업:새 작업 만들기
ls
docker info
docker build -t katacoda/jenkins-demo:${BUILD_NUMBER} .
docker tag katacoda/jenkins-demo:${BUILD_NUMBER} katacoda/jenkins-demo:latest
docker images
첫 번째 단계는 생성할 디렉터리의 모든 파일을 보여 줍니다.docker build을 호출할 때 Jenkins build 번호를 이미지 태그로 사용합니다.이렇게 하면 Docker 이미지를 버전화할 수 있습니다.우리는 또한 최신 버전으로 구축을 표시한다.이 때, 또는 다른 단계에서, 그림을 집중식 docker 등록표에 업로드하는 docker 전송을 실행할 수 있습니다.
건설 프로젝트
Git 저장소를 기반으로 Docker 이미지를 구축하는 설정된 작업이 있습니다.다음 단계는 테스트와 시도다.
작업:구축
왼쪽에서 지금 구문을 선택합니다.메시지 (pending Waiting for next available executor) 를 포함하는 구축 계획을 보실 수 있습니다.
백그라운드에서 Jenkins는 컨테이너를 시작하고 SSH를 통해 연결합니다.Docker 에이전트를 구성하는 데 시간이 걸릴 수 있습니다.'(pending Jenkins에 docker 에이전트 레이블이 없음)'오류는 Jenkins가 docker 에이전트가 시작되기를 기다리는 동안 발생합니다.
사용 가능
docker logs --tail=10 jenkins
이것은 약간의 시간을 써서 완성하는 것이 정상이다.콘솔 출력 보기
구문이 완료되면 Docker CLI Docker images를 사용하여 이미지와 태그를 볼 수 있습니다.
Docker 이미지에는 작은 HTTP 서버가 내장되어 있습니다.다음과 같은 방법으로 시작할 수 있습니다.
docker run -d -p 80:80 katacoda/jenkins-demo:latest
cURL 을 사용하면 다음과 같은 서버 응답을 볼 수 있습니다.curl host01
Jenkins는 대시보드를 통해 제작된 콘솔 출력을 제공합니다.아래에서 액세스할 수 있어야 합니다.https://[[HOST_SUBDOMAIN]-8080-[[KATACODA_HOST]].환경논밭 한 뙈기.com/job/Katacoda%20Jenkins%20Demo/1/console
프로젝트를 재구성하면 버전 2가 만들어진 그림을 볼 수 있고: latest 표시가 다시 부착됩니다.
Reference
이 문제에 관하여(Jenkins를 사용하여 Docker 이미지 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thebleshbanz/building-docker-images-using-jenkins-965텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)