본문 바로가기
IT/오픈소스

JFrog Artifactory(아티팩토리) 사용하기

by 모띠 2025. 1. 29.

 

 

본 포스팅은 총 3편으로 구성되어 있습니다.

2025.01.28 - [IT/오픈소스] - JFrog Artifactory(아티팩토리)란?

2025.01.29 - [IT/오픈소스] - JFrog Artifactory(아티팩토리) 사용하기

2025.01.29 - [IT/오픈소스] - JFrog Artifactory(아티팩토리) Unauthorized 인증 에러

 

 

이전 포스팅에서 Artifactory가 무엇이고 어떻게 설치하는지에 관해 알아보았다.

이번 포스팅은 이렇게 설치한 Artifactory를 어떻게 사용하면 될지에 관해 설명한다.

 

Artifactory(아티팩토리) 설정

우선, Artifactory를 사용하기위해서는 user를 만들고 그에 해당하는 권한을 주는 설정을 해주어야한다.

친절하게도 JFrog는 Artifactory를 처음 사용하는 사람들을 위해서 `getting started`를 만들어 놓았으니, 사용자는 그대로 따라하기만 하면 된다.

 

admin계정으로 로그인 후, getting started를 클릭한다.

 

 

저장소 생성(Create a repository)

가장 먼저 Artifactory에서 사용할 저장소를 만들어준다. 

Artifactory에서 제공하는 저장소는 크게 3가지로 구분되어있다.

  • 로컬 저장소: 사용자가 직접 아티팩트 or 라이브러리를 업로드하는 저장소. 프로젝트나 팀 내에서 직접 관리하는 아티팩트들이 이곳에 저장하면 된다.
  • 원격 저장소: 외부 저장소(Maven Central, npm registry 등)와 연결된 저장소.
  • 가상 저장소: 여러 개의 로컬 저장소와 원격 저장소를 묶어서 하나의 "가상"저장소처럼 사용할 수 있도록 만든 저장소.

로컬저장소를 만들어서 그곳에 라이브러리를 웹페이지를 통해서 직접 넣든지 CI / CD를 통해서 넣든지 하면된다.

그리고 로컬저장소와 원격저장소를 묶어서 하나의 가상저장소를 만들면, 나중에 하나의 가상저장소 url를 통해서 모든 저장소로부터 라이브러리를 효율적으로 받아올 수 있다.

 

 

우선, 로컬저장소를 선택하여 패키지 타입을 선택한다.

자바 jar파일을 올릴 계획이라 maven 선택

 

Repository Key를 입력하고 저장한다. 복제 등의 기능은 oss(무료)버전에서는 사용할 수 없다.

test-repository라는 이름으로 생성

 

 

test-repository 라는 이름의 로컬저장소가 잘 생성되어있는 것을 확인.

 

 

 

사용자 추가(Add users)

레포지토리를 만든 후, 사용자를 생성한다. email은 인증메일이 날아가는것이 아니니 실제 존재하지않는 emaill로 진행해도 무방하다. (아마 비밀번호 찾기시에 사용되는듯 하다.) 

사용자에게 플랫폼과 리소스(파이프라인 관련) 관리 권한을 주고싶은 경우 체크한다.

 

 

사용자에게 지정할 그룹을 설정한다. 

어떠한 그룹도 만들지않은 현 시점에 `reader`라는 그룹만 존재하는데, 따로 추가해주지 않아도 알아서 사용자가 reader그룹으로 편입되어있다. 이것은 reader라는 그룹이 auto join 설정이 체크되어있기때문에 특정 조건이 맞는 사용자들을 자동으로 reader그룹안에 편입시키려고 하는것이다.

단순히 라이브러리를 읽기만 하려면 reader그룹이면 충분하다. 한 사용자를 다양한 그룹에 넣는것도 가능하다.

permissins은 우선 그냥 넘어간다.

 

 

사용자 생성 후, motti라는 이름의 사용자를 확인 가능하다. 

 

 

그룹 추가(Add groups)

그룹은 사용자들의 묶음이라고 이해하면 편하다. 특정 사용자들을 특정 권한을 준 그룹별로 묶게되면 각 사용자들에게 일일히 권한을 부여하지않아도 되어서 관리에 용이하다.

 

사용자와 마찬가지로 그룹에 역할부여가 가능하며, 해당 그룹에 어떤 사용자를 포함시킬것인지 선택한다.

 

 

developer라는 이름의 그룹이 생성된것을 확인.

 

 

 

권한 설정(Set up permissions)

이제 사용자 및 그룹이 어떠한 권한을 갖도록 권한 설정을 해준다.

 

먼저, 해당 권한이 어떠한 저장소에 접근 가능한지부터 설정한다.

로컬 저장소는 위에서 작성했던 test-repository만 접근가능하도록 하고 원격저장소는 전부 접근가능 하도록 체크한다.

 

해당 권한이 어떤 빌드를 추가할 수 있는지 설정한다. Add Build 권한을 부여하면 사용자가 새로운 빌드 아티팩트를 Artifactory에 업로드하거나 저장할 수 있다.

 

위에서 해당 권한이 어떤 저장소에 접근 가능하고 빌드조건을 명시했다면, 이제 누구에게 이 권한을 부여할것인지를 결정한다.

앞서 언급하였듯이 사용자와 그룹 각각 권한을 부여할 수 있는데, 사용자들을 그룹으로 묶은뒤 그룹에게만 권한을 부여하면 각 사용자에게 일일히 권한을 부여할 필요가 없으므로 특별한 경우를 제외하고는 그룹에 권한을 부여하도록 하자.

전 단계에서 만들었던 developer 그룹에 읽기만 가능한 해당 권한을 부여하였다. 

 

 

read권한을 부여한 developer그룹에 motti라는 사용자를 포함시켰으니 motti에게는 readers 그룹이 필요없을 것 같다.

사용자 편집창에서 readers라는 그룹을 제거한다. (안해도 무방)

 

 

readers그룹이 제거되어 developer그룹만 남게된것을 확인.

 

 

 

아티팩트 배포(Deploy artifact)

마지막으로 라이브러리를 로컬 저장소에 배포한다.

라이브러리를 배포하는 방식은 Artifactory REST API사용, CI/CD 도구와 연동(Jenkins, GitLab CI..) 등이 있지만, 본 포스팅에서는 웹페이지에서 직접 배포한다.

 

배포 페이지에서 depoly버튼을 눌러서 저장소에 올리고자 하는 라이브러리를 drag & drop 한다.

 

Group ID, Artifact ID, Version, Type등은 아티팩트를 읽고 자동으로 설정된다.

 

Deploy 버튼을 누르면 모든 getting started 단계를 완료하였다고 팝업이 뜬다. 이제 다 끝났다.

이렇게 원하는 라이브러리를 중앙 저장소에 올릴 수 있다.

 

 


 

 

Artifactory(아티팩토리) 사용

위에서 설정했던 아티팩토리에 접근하기 위해서는 mvn pom.xml에 접속정보를 추가해야한다.

여러 저장소에서 한번에 가져오고싶다면 가상저장소로 묶은뒤 가상저장소 url를 입력하면 된다.

<repository>
  <id>bwg-public</id>
  <url>http://ip:port/artifactory/test-repository/</url>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
</repository>

 

 

레포지토리에 접근하여 dependency부분을 복사하여 pom.xml에 넣어준다. 

...

<dependency>
    <groupId>test</groupId>
    <artifactId>test</artifactId>
    <version>0.0.1</version>
</dependency>

...

 

이렇게하면 아티팩토리로 부터 라이브러리를 잘 받아온다.

'IT > 오픈소스' 카테고리의 다른 글

도커 레지스트리(Docker registry) 등록 및 삭제  (0) 2025.02.09
JFrog Artifactory(아티팩토리)란?  (1) 2025.01.29
JPA - 스프링 연동  (2) 2024.12.24
JPA - 다양한 쿼리방법  (0) 2024.12.23
JPA - 고급 매핑  (0) 2024.12.23

댓글