이 문서는 Archive 파일을 이용하여 Linux에 Artifactory를 설치하는 방법을 공유하기 위해 작성되었습니다.
설치환경
- OS : Rocky-8.9
- Artifactory : artifactory-oss-7.84.17
- PostgreSQL : 13
Artifactory 설치 미디어 다운로드
아래 링크에 접속하여 최신버전의 Artifactory를 다운로드 받습니다.
Artifactory 설치 파일 압축 해제 및 디렉토리 설정
JFrog Home 디렉터리 생성 후 해당 위치에 Artifactory 압축 해제 및 디렉토리명을 변경합니다.
$ mkdir -p /opt/jfrog $ tar -xvf jfrog-artifactory-oss-7.84.17-linux.tar.gz /opt/jfrog $ cd /opt/jfrog $ mv artifactory-oss-7.84.17 artifactory
JFrog Home 환경 변수 설정
JFrog Home 환경 변수를 설정합니다.
$ export JFROG_HOME=/opt/jfrog
방화벽 설정
Artifactory는 기본적으로 다음과 같은 외부 네트워크 포트를 사용합니다.
- 8081
- 8082
방화벽 허용 $ sudo firewall-cmd --zone=public --add-port=8081/tcp --permanent $ sudo firewall-cmd --zone=public --add-port=8082/tcp --permanent 적용 $ sudo firewall-cmd --reload 확인 $ sudo firewall-cmd --list-ports
데이터 베이스 연동 (선택 사항)
Artifactory에는 기본으로 내장된 Derby 데이터베이스가 제공됩니다.
그러나 운영 환경에서는 외부 PostgreSQL 데이터베이스를 사용할 것을 권장합니다.
system.yaml 파일을 사용하여 시스템 설정을 구성할 수 있습니다.
/artifactory/var/etc 폴더에 있는 템플릿을 복사하여 사용합니다. (system.basic-template.yaml, system.full-template.yaml)
$ cd artifactory/var/etc/ $ cp system.basic-template.yaml system.yaml
복사한 system.yaml 파일에 database 정보를 입력합니다.
allowNonPostgresql : JFrog Artifactory는 기본적으로 PostgreSQL 데이터베이스와 함께 사용하도록 설정되어 있습니다.
하지만 다른 데이터베이스 (예: MySQL, Oracle 등)을 사용하고자 할 경우, 이 설정을 'true'로 변경해야 합니다. (default:false)
$ vi system.yaml ## Database Configuration database: ## To run Artifactory with any database other than PostgreSQL allowNonPostgresql set to true. #allowNonPostgresql: false ## One of mysql, oracle, mssql, postgresql, mariadb ## Default Embedded derby ## Example for postgresql type: postgresql driver: org.postgresql.Driver url: "jdbc:postgresql://<your db url, for example: localhost:5432>/artifactory" username: artifactory password: password
Artifactory를 프로세스로 실행
Artifactory를 포그라운드 또는 데몬 프로세스로 실행할 수 있습니다.
포그라운드 프로세스로 실행 $ JFROG_HOME/artifactory/app/bin/artifactoryctl 데몬 프로세스로 실행 $ JFROG_HOME/artifactory/app/bin/artifactoryctl start 프로세스 확인 및 중지 $ JFROG_HOME/artifactory/app/bin/artifactoryctl check $ JFROG_HOME/artifactory/app/bin/artifactoryctl stop
Artifactory를 서비스로 실행
Artifactory는 번들된 Tomcat과 설치 스크립트가 포함된 아카이브 파일 형태로 패키징되어 있으며, 이 스크립트를 사용하여 사용자 정의 계정으로 서비스를 설치할 수 있습니다. 이 방식은 현재 Linux와 Solaris 시스템에서 지원됩니다.
Artifactory를 서비스로 실행할 때, 설치 스크립트는 artifactory라는 사용자를 생성하며, 이 사용자는 설치 디렉토리에 대한 실행 권한을 가져야 합니다. Artifactory 다운로드 파일을 모든 사용자에게 실행 권한이 있는 /opt와 같은 디렉토리에 압축 해제하는 것을 권장합니다.
서비스 생성 스크립트 실행
$ JFROG_HOME/artifactory/app/bin/installService.sh # 사용자를 지정할 경우 $ JFROG_HOME/artifactory/app/bin/installService.sh [USER] [GROUP]
- USER : 애플리케이션을 실행하려는 사용자
- GROUP : 응용 프로그램이 실행될 그룹
서비스 관리
systemd 사용할 경우 $ systemctl start artifactory.service $ systemctl status artifactory.service $ systemctl stop artifactory.service init.d 사용할 경우 $ service artifactory start $ service artifactory check $ service artifactory stop
Artifactory 설정
Artifactory를 설정하기 위해 http://localhost:8082/ui/ 으로 접속합니다.
초기 계정 정보는 다음과 같습니다.
- ID : admin
- PW : password