본 포스팅은 총 3편으로 구성되어 있습니다.
2025.01.28 - [IT/오픈소스] - JFrog Artifactory(아티팩토리)란?
2025.01.29 - [IT/오픈소스] - JFrog Artifactory(아티팩토리) 사용하기
2025.01.29 - [IT/오픈소스] - JFrog Artifactory(아티팩토리) Unauthorized 인증 에러
명색에 블로그 이름을 `모띠의 아티팩토리`로 지어놓고 아티팩토리에 관해 포스팅을 한적이 없다.
최근 사내에서 아티팩토리 관련하여 수정사항이 생겨서 그 일을 구실삼아 포스팅해보려고 한다.
Artifactory(아티팩토리)란?
`Artifactory`는 바이너리와 아티팩트를 호스팅, 관리 및 배포하기 위한 범용 DevOps 솔루션이다.
애플리케이션 설치 프로그램, 컨테이너 이미지, 라이브러리, 구성 파일 등과 같은 바이너리 형태의 모든 유형의 소프트웨어는 Artifactory를 사용하여 큐레이션, 보안, 저장 및 제공한다.
쉽게말해, 바이너리 파일을 저장하는 중앙저장소라고 생각하면 된다. 사내에서 개발한 라이브러리 등을 깃허브같은 오픈된 환경에 올릴 수 없지 않은가. 그럴때 사내에서 라이브러리를 올릴 중앙저장소가 필요한데 아티팩토리가 그 역할을 해준다. 비슷한 저장소로는 Sonatype사의 `Nexus`가 있다.
Artifactory vs Nexus
사내에서 사용할 중앙저장소로 크게 2가지가 거론되는데, 각각 장단점이 있다.
전반적으로 대규모환경에서는 Artifactory가 적합하지만, 소규모환경이라면 간단한 Nexus를 사용하는것을 추천한다.
Artifactory
- 광범위한 패키지 형식을 지원하고 엔터프라이즈급 기능을 제공
- 대규모 프로젝트와 복잡한 개발 환경에서 특히 강점
- oss(오픈소스) - 무제한용량 제공 / pro(유료) - 라이센스에 따라 용량제공
- Java를 포함한 엔터프라이즈에서 사용되는 거의 모든 포맷 지원 (Nexus보다 월등함)
- 대규모 프로젝트와 복잡한 환경에서 성능 우수(고급 캐싱, 분산 저장소 등)
Nexus
- Nexus는 간단하고 직관적인 인터페이스
- 소규모에서 중간 규모의 프로젝트에 적합
- 무료, 유료 관계없이 무제한용량 제공
- Java에 특화된 포맷 지원 (maven, npm, docker .. 등을 지원)
- 경량화된 설계로 인한 빠른 속도(빠른 검색속도, 효율적인 메모리)
Artifactory(아티팩토리) 설치
아티팩토리는 무료버전과 유료버전으로 나뉜다.
- pro - 유료버전이므로 다양한 기능제공
- oss - 오픈소스솔루션으로 무료버전이지만, 기본적인 기능만 제공
아티팩토리 설치는 JFrog 홈페이지에 가서 설치 tar.gz을 직접 다운받는 방법과 도커로 설치하는 방법이 있다.
본 포스팅에서는 도커를 통해 이미지를 다운 받는다.
(tar.gz를 직접 받는사람은 링크를 참조한다.)
docker pull docker.bintray.io/jfrog/artifactory-oss:latest
도커 이미지를 받은 후, 컨테이너를 실행한다. 이때, 컨테이너에서 사용되는 데이터가 영구적으로 유지되도록 호스트 시스템에 데이터 디렉토리와 바인딩한다. (볼륨으로 지정해도 무방하다)
sudo docker run --name artifactory -d -p 8081:8081 -p 8082:8082 \
-v /home/artifactory:/var/opt/jfrog/artifactory \
docker.bintray.io/jfrog/artifactory-oss:latest
아티팩토리를 도커로 기동시켰다면, `http://ip:8082`로 접속
초기 패스워드는 아래와 같다. 처음 접속하면 비밀번호를 변경하라고 창이 나온다. (비밀번호 규칙이 굉장히 까다롭다..)
- username: admin
- password: password
중간에 도메인을 입력하는 칸이 나오는데, 도메인을 따로 따놓은것이 있다면 여기서 등록해주면 된다.
사내 프록시가 존재한다면 여기서 등록
아티팩토리를 설치 완료하였다.
다음 포스팅에는 아티팩토리를 중앙저장소로 활용할 수 있도록 설정을 포스팅 하겠다.
'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 |
댓글