이 단계에서는 작업을 생성하고 작업 매개변수를 구성하여 Jenkins에서 slave pod를 빌드하는 방법을 설명합니다.
설명
각기 다른 Jenkins 버전에서 사용하는 UI에는 차이가 있습니다. 비즈니스 요구 사항에 따라 선택할 수 있습니다.
작업 생성
1. Jenkins 백엔드에 로그인하고 새 작업 또는 작업 생성을 클릭합니다.
2. 작업 생성 페이지에서 작업의 기본 정보를 구성합니다.
작업 이름 입력: 사용자 지정 이름을 입력합니다. 이 문서에서는 test를 예로 사용합니다.
유형: 자유형 소프트웨어 프로젝트 빌드를 선택합니다.
3. 확인을 클릭하여 작업 매개변수 구성 페이지로 이동합니다.
4. 작업 매개변수 구성 페이지에서 기본 정보를 구성합니다.
설명: 사용자 지정 작업 정보를 입력합니다. 이 문서는 slave pod test를 예로 사용합니다.
빌드 프로세스 매개변수화: 이 옵션을 선택하고 매개변수 추가 > Git Parameter를 선택합니다.
작업 매개변수 구성
1. 다음과 같이 ‘Git Parameter’ 패널에서 다음 매개변수를 구성합니다.
다음은 주요 매개변수에 대한 설명입니다. 다른 매개변수는 기본값을 유지하십시오.
Name: mbranch를 입력하면 브랜치를 일치시켜 얻을 수 있습니다.
Parameter Type: Branch or Tag를 선택합니다.
2. 매개변수 추가 > Extended Choice Parameter를 선택합니다. 표시되는 ‘Extended Choice Parameter’ 패널에서 다음 이미지와 같이 다음 매개변수를 구성합니다.
다음은 주요 매개변수에 대한 설명입니다. 다른 매개변수는 기본값을 유지하십시오. Name: 이미지 이름을 얻는 데 사용할 수 있는 name을 입력합니다.
Basic Parameter Types: 이 옵션을 선택합니다.
Parameter Type: Check Boxes를 선택합니다.
Value: 이 옵션을 선택하고 사용자 지정 이미지 이름을 입력합니다. 이 값은 name 변수에 전달됩니다. 이 문서는 nginx,php를 예로 사용합니다.
3. 매개변수 추가 > Extended Choice Parameter를 선택합니다. ‘Extended Choice Parameters’ 패널에서 다음 이미지와 같이 다음 매개변수를 구성합니다.
다음은 주요 매개변수에 대한 설명입니다. 다른 매개변수는 기본값을 유지하십시오. Name: 이미지 태그 변수를 얻기 위해 사용할 수 있는 version을 입력합니다.
Basic Parameter Types: 이 옵션을 선택합니다.
Parameter Type: 텍스트 형식의 이미지 값을 가져와 version 변수에 전달하려면 Text Box를 선택합니다.
4. 프로젝트의 실행 노드 제한을 선택합니다. 태그 표현식의 경우 slave pod 템플릿 구성 단계에서 설정한 Pod 태그 jnlp-agent를 입력합니다. 소스 코드 관리 구성
‘소스 코드 관리’ 영역에서 Git을 선택하고 다음 정보를 구성합니다.
Repositories:
Repository URL: https://gitlab.com/user-name/demo.git과 같은 gitlab 주소를 입력합니다.
Branches to build:
**지정된 브랜치(비어 있는 경우 any)**: 브랜치를 동적으로 획득하기 위해 사용되는 $mbranch를 입력하고 그 값은 Git Parameter에서 정의한 mbranch의 값에 해당합니다.
Shell 패키징 스크립트 구성
1. ‘빌드’ 영역에서 빌드 단계 추가 > shell 실행을 선택합니다.
2. 다음 스크립트 내용을 복사하여 ‘명령’ 입력 상자에 붙여넣습니다. 그 다음 저장을 클릭합니다.
주의사항
이 스크립트에서 gitlab 주소, TKE 이미지 주소, 이미지 리포지토리의 사용자 이름 및 비밀번호와 같은 정보는 예시일 뿐입니다. 실제 사례에서는 필요에 따라 교체하십시오.
Docker build의 소스 코드를 기반으로 패키지를 빌드해야 합니다. 또한 작업 디렉터리 /home/Jenkins/agent는 ‘컨테이너 목록’에 있는 Container Template의 작업 디렉터리와 일치해야 합니다. echo " gitlab 주소: https://gitlab.com/[user]/[project-name]].git"
echo "선택한 브랜치(이미지):" $mbranch, "브랜치(이미지) 버전 설정: "$version
echo " TKE 이미지 주소: hkccr.ccs.tencentyun.com/[namespace]/[ImageName]"
echo "1. TKE 이미지 리포지토리에 로그인"
docker login --username=[username] -p [password] hkccr.ccs.tencentyun.com
echo "2. Docker build 의 소스 코드를 기반으로 패키지 빌드:"
cd /home/Jenkins/agent/workspace/[project-name] && docker build -t $name:$version .
echo "3. Docker 이미지를 TKE 리포지토리에 업로드:"
docker tag $name:$version hkccr.ccs.tencentyun.com/[namespace]/[ImageName]:$name-$version
docker push hkccr.ccs.tencentyun.com/[namespace]/[ImageName]:$name-$version
스크립트는 다음 기능을 제공합니다.
선택한 브랜치, 이미지 이름, 이미지 태그를 가져옵니다.
TKE 이미지 리포지토리의 코드와 결합 및 빌드된 docker 이미지를 게시합니다.
다음 단계 작업
이제 성공적으로 slave pod를 구축했습니다. 빌드 테스트로 이동하여 이미지를 게시하고 확인합니다.