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



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

저장소 생성

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

  • 관리 메뉴(Administration) → 저장소(Repositories)로 이동 후 저장소 생성(Create a Repository) 메뉴를 선택


 



저장소 구성 선택

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



  • Pre-Built-Setup : 이미 구성된 다양한 유형의 저장소를 선택하여 빠르게 저장소를 생성할 수 있습니다.
  • Virtual : 여러 저장소를 하나의 논리적 저장소로 사용할 수 있는 가상 저장소입니다.
  • Local : 팀이 생성한 패키지나 아티팩트를 업로드하고 저장하는데 사용되는 저장소입니다.
  • Remote : 외부 저장소를 프록시하고 캐시하는 역할을 하는 저장소입니다.
  • Federated : 여러 JFrog Artifactory 인스턴스 간에 패키지를 미러링하거나 동기화할 때 사용되는 저장소입니다.


아티팩트 유형 선택

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


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


  • Docker
  • npm
  • Maven
  • Gradle
  • Go
  • RPM
  • Terraform
  • Chef
  • Bower
  • ...


저장소 설정 및 완료

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

  • 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

Dockerfile
#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에서 저장소 및 아티팩트의 세부 정보를 확인할 수 있습니다.


  • Set Me Up
    클라이언트 토큰 생성 및 pull, push 커맨드를 확인할 수 있습니다.


  • Deploy

    로컬에 있는 파일을 Artifactory 저장소에 업로드 할 수 있습니다.


  • Manage Repositories
    저장소 관리 페이지로 이동합니다. 저장소의 설정을 편집할 수 있습니다.





  • 레이블 없음