Jenkins 파이프라인 작업을 설정하여 Django 이미지를 dockerhub에 배포
이 기사에서는 Jenkins에게 docker 명령 실행 권한을 부여하고 Django docker 빌드를 dockerhub에 배포하는 기본 파이프라인 작업을 설정하는 방법을 살펴보겠습니다.
1. docker 명령을 실행할 수 있도록 jenkins 사용자에게 액세스 권한을 부여합니다.
명령을 사용하여 드롭릿에 ssh합니다.
ssh root@YOUR-IP
명령을 사용하여 jenkins 컨테이너 ID를 가져옵니다.
docker ps
아래와 비슷한 출력이 표시되어야 합니다.
컨테이너 ID가 있으면 이제 명령을 사용하여 컨테이너에 들어갈 수 있습니다.
docker exec -it CONTAINER_ID bash
실행
docker
하면 모든 docker 명령 목록을 볼 수 있어야 합니다.이제 명령으로 Redis 이미지를 실행해 보겠습니다.
docker run redis
잠깐, 무슨 일이야? 다음 오류가 발생해야 합니다.
이 오류는 jenkins 사용자에게 특정 명령을 실행할 수 있는 권한이 없음을 의미합니다.
컨테이너 ID를 얻기 위해 먼저
docker ps
를 실행하여 세션을 종료하고 루트 사용자로 컨테이너에 들어갑니다. 이제 다음을 통해 루트 사용자로 컨테이너에 들어갑니다.docker exec -u 0 -it CONTAINER_ID bash
이제 다음을 통해 Jenkins 사용자에게 권한을 부여할 수 있습니다.
chmod 666 /var/run/docker.sock
모두 제대로 진행되었는지 확인하려면
ls -l var/run/docker.sock
를 실행하면 아래 그림과 같은 출력이 표시됩니다.모두 정상인지 확인하려면 jenkins 사용자로 jenkins 컨테이너에 들어가서
docker run redis
를 실행하십시오. 이전에 발생한 오류는 존재하지 않아야 하며 명령이 성공적으로 실행되어야 합니다.2. Django 도커 이미지를 dockerhub에 배포하기 위한 파이프라인을 생성합니다.
젠킨스 페이지로 이동하여 새 파이프라인 작업을 만듭니다.
성공적으로 생성한 후 파이프라인 탭을 클릭하고 파이프라인 섹션까지 아래로 스크롤하여 리포지토리에 연결해야 합니다.
드롭다운에서 SCM 옵션의 파이프라인 스크립트를 선택하고 리포지토리 URL을 추가합니다.
github/gitlab 자격 증명을 비밀번호 옵션과 함께 사용자 이름으로 추가하고 JenkinsFile이 있는 분기를 추가해야 합니다.
Django 프로젝트에서 JenkinsFile이 있는지 확인하십시오. 이제 Jenkins 구성을 추가할 수 있습니다.
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'echo "Hello World"'
}
}
stage('Done'){
steps {
echo " Wow! I'm done!"
}
}
stage('Deploy staging ') {
steps {
echo 'I am deploying to a staging server
}
}
stage ( 'Deploy prod') {
steps {
echo 'I am deploying to prod server
}
}
}}
이제 코드를 버전 제어에 푸시하고 Jenkins 서버 웹 페이지로 이동하여 생성한 작업에 들어가서 지금 빌드 버튼을 클릭하여 빌드를 시작할 수 있습니다.
빌드 번호와 함께 빌드 상태를 볼 수 있어야 합니다. 빌드 번호를 클릭하면 빌드로 리디렉션됩니다.
콘솔 출력 정보를 확인하려면 콘솔 출력을 클릭하면 됩니다.
계속해서 Django 이미지를 빌드하고 dockerhub에 배포할 단계를 구성할 수 있습니다. 이 다음 단계를 위해 자격 증명과 자격 증명 바인딩 플러그인을 설치했는지 확인하십시오. JenkinsFile에서 액세스할 수 있도록 ID와 함께 도커 허브 자격 증명을 추가합니다.
pipeline {
agent any
stages {
stage('Build docker image') {
steps {
sh 'echo "Hello World"'
script{
//
withCredentials([
usernamePassword(credentials:'docker-hub-credentials', usernameVariable:USER, passwordVariable:PASSWORD)
]) {
sh "docker build . -t YOUR_IMAGE_NAME"
sh "echo $PASSORD | docker login -u $USER --password-stdin"
sh "docker push YOUR_IMAGE_NAME"
}
}
}
}
}
}
다음 기사에서 포괄적으로 논의할 새로운 개념인
withCredentials
도구를 도입했습니다.이 단계에서 이제 디지털 바다 물방울에 Jenkins를 설정하고 이를 사용하여 Django 이미지를 Dockerhub에 배포했습니다. 다음 기사에서는 Groovy 스크립트 및 환경 변수를 사용하는 방법과 빌드를 자동으로 실행할 GitHub 트리거를 설정하는 방법을 다룰 것입니다.
건배.
Reference
이 문제에 관하여(Jenkins 파이프라인 작업을 설정하여 Django 이미지를 dockerhub에 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/langatmanuk/set-up-jenkins-pipeline-jobs-to-deploy-a-django-image-to-dockerhub-454e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)