이 문서에서는 Docker 저장소 유형을 생성하고 컨테이너 이미지를 업로드하여 Artifactory를 Docker 레지스트리로 사용할 수 있도록 안내합니다. 



이 예시를 따라 Docker 이외에 기타 npm, Maven, Go 등과 같은 다른 유형의 저장소를 생성할 수 있습니다. 저장소를 생성하기 위해서는 Admin permission이 필요합니다. 

저장소 생성

저장소 생성을 위해 다음 절차를 진행합니다. 


 



저장소 구성 선택

생성하고자 하는 저장소의 구성을 선택합니다.




아티팩트 유형 선택

저장소 목록이 나타나면 생성하고자 하는 아티팩트의 유형을 선택합니다.


아티팩트 유형은 다음과 같습니다. 



저장소 설정 및 완료

저장소 설정 후 생성을 완료합니다.

  • Repository Key (필수) : 저장소의 고유 식별자(이름) 입니다.
  • Environments : 저장소가 속한 환경을 지정하는 옵션입니다. 환경은 일반적으로 개발(DEV), 테스트(QA), 스테이징(STAGE), 프로덕션(PROD) 등과 같은 소프트웨어 릴리스의 단계를 나타냅니다.
  • General Settings
    • Repository Layout : 저장소 내에서 아티팩트가 어떻게 구조화되고 저장될지를 정의합니다.
    • Public Description : 저장소에 대한 공개적인 설명을 입력합니다. 이 설명은 다른 사용자가 저장소를 볼 때 표시됩니다.
    • Internal Description : 저장소에 대한 내부적인 설명을 입력합니다. 주로 팀 내에서 사용하는 정보를 기록합니다.
  • Include / Exclude Patterns : 저장소에 포함 또는 제외될 패턴을 정의합니다.
  • Docker Settings
    • API Version : Docker Registry API의 버전을 지정합니다.
    • Max Unique Tags : 특정 이미지의 최대 태그 수를 제한합니다. 기본값 0은 무제한을 의미합니다.
    • Docker Tag Retention : 태그의 보존 기간을 설정합니다. 설정 기간 후 자동으로 태그를 제거합니다.
  • Enable Indexing in Xray 설정 : 이 설정을 활성화하면 Artifactory 저장소의 내용이 JFrog Xray에서 분석되고 보안 위협을 식별할 수 있도록 인덱싱됩니다.
  • Repositories : Virtual 유형의 저장소 생성 시 하나의 가상 저장소로 묶을 로컬 및 원격 저장소를 선택하고 기본 저장소를 지정합니다. 

Advanced 설정에서는 속성 집합을 선택하여 파일이나 폴더에 부가적인 정보(파일의 버전, 작성자, 생성일 등)를 부여할 수 있습니다.

또한 우선순위 설정, CDN 다운로드 설정 등의 추가적인 옵션 설정이 가능합니다.

Replications 설정은 해당 저장소의 콘텐츠를 다른 위치로 자동으로 복제하도록 구성하는 데 사용됩니다.


저장소에 이미지 업로드

Docker Push

생성한 저장소로 이미지를 push합니다. 

JFrog QuickStart example GitHub repository

#Option 1: for cloud subscription
FROM ${SERVER_NAME}.jfrog.io/${REPO_NAME}/ubuntu:16.04
#Option 2: for Self-Hosted subscription. Remove the above cloud command and use the below command
#FROM ${Artifactory_URL:Artifactory_PORT}/${REPO_NAME}/ubuntu:16.04
CMD printf "CONGRATULATIONS!!! You have just set up your first Docker repository with the new JFrog Platform!"


$ docker 로그인 ${SERVER_NAME}
 
$ docker build --tag ${SERVER_NAME} / ${REPO_NAME} /my-docker-image:latest . 

$ docker push ${SERVER_NAME} / ${REPO_NAME} /my-docker-image:latest


저장소 이미지 확인

저장소 및 아티팩트(이미지)를 확인합니다.

Application → Artifacts에서 저장소 및 아티팩트의 세부 정보를 확인할 수 있습니다.