Rocky Linux 安装 JFrog Artifactory

发布时间 2023-04-17 23:18:27作者: 白马黑衣

一、概要

1. 环境

(1) Rocky Linux 9.1

(2) JFrog Artifactory 7.55.10

2. 概念

JFrog Artifactory是一个通用的二进制仓库,它可以存储Docker镜像、IOS/Android/EXE软件包,或者Maven Jar包。

JFrog Artifactory由Java实现,从7.43.x开始,其安装包自带JDK 17。

3. 仓库

开源的 JFrog 版本只支持 Gradle、ivy、maven、SBT、Generic 5种仓库类型。

4. 安装要求

(1) 内存

JFrog Artificatory最小的内存需求是512MB,内存越大就可以支撑越多的文件存储,也可以支持越多的并发用户访问。

(2) 系统时间同步

如果需要安装多节点的JFrog Artificatory或者安装JFrog的其他服务,则需要宿主机有具备统一的时间,否则不同的节点不同的事件可能导致授权和认证失败。

(3) 系统配置

活跃的Clients CPU(核心) 内存(GB) 磁盘
0-20 4 4 3x需要存储的文件大小。
0-100 4 8 3x需要存储的文件大小。
100-200 8 12 3x需要存储的文件大小。

(4) 文件系统(支持列表)

a. 本地文件系统;

b. 云存储环境:Amazon S3和Google云存储;

c. NFS

(5) 数据库(支持列表)

a. MySQL

b. Oracle

c. MS SQL

d. PostgreSQL

e. MariaDB

(6) 网络端口号

8081, 8082

二、安装

1. 安装模式

Artifactory分为两种安装方式,一种是单节点模式,另一种是高可用模式。本文选择单节点模式。

2. 安装

(1) 仓库

wget https://releases.jfrog.io/artifactory/artifactory-rpms/artifactory-rpms.repo -O jfrog-artifactory-rpms.repo
sudo mv jfrog-artifactory-rpms.repo /etc/yum.repos.d/

(2) 更新仓库

sudo yum update -y

(3) 安装

sudo yum install jfrog-artifactory-oss -y

安装完成之后会打印目录信息:

(4) 重要目录

安装目录: /opt/jfrog/artifactory
日志目录: /opt/jfrog/artifactory/var/log
系统配置模板目录: /opt/jfrog/artifactory/var/etc
配置文件: /opt/jfrog/artifactory/var/etc/system.yaml

3. 授权

sudo chmod -R 755 /opt/jfrog/artifactory/var/log
sudo chmod -R 755 /opt/jfrog/artifactory/var/etc

三、配置

配置文件system.yaml位于/opt/jfrog/artifactory/var/etc/下:

sudo vi /opt/jfrog/artifactory/var/etc/system.yaml

1. 内存配置

配置JFrog Artificatory内存的方式是:

shared:
  extraJavaOpts: "-Xms512m -Xmx2g"

2. 数据库

需要特别注意的是,JFrog需要大小写敏感的数据库而MySQL默认大小写不敏感,所以需要在创建数据库的时候进行设置。

如果已经创建了大小写不敏感的MySQL数据库,你需要根据官网的提示更新该设置:设置MySQL大小写敏感

(1) 登录MySQL

mysql -u root -p

(2) 创建数据库

create database if not exists artifactory default character set utf8 collate utf8_bin;

(3) 配置数据库

  database:
    type: mysql
    driver: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/artifactory?useUnicode=true&useSSL=false&characterEncoding=UTF-8&rewriteBatchedStatements=true&allowMultiQueries=true&serverTimezone=UTC
    username: <User name>
    password: <Password>

3. 开放端口号

sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --add-port=8081/tcp
sudo firewall-cmd --permanent --add-port=8082/tcp
sudo firewall-cmd --reload

4. 启动

sudo systemctl start artifactory
sudo systemctl enable artifactory
systemctl status artifactory

四、测试

1. 访问 http://<IP Address>:8081

(1) 默认账户

用户名: admin

密码: password

(2) 错误检查

如果启动失败,或者无法访问该页面,则需要通过检查以下日志来定位失败原因:

sudo vi /opt/jfrog/artifactory/var/log/console.log

2. 支持的仓库类型

作为开源版本,仅支持Generic, Gradle, Ivy, Maven, SBT 5种仓库类型,如果需要解锁其他支持,则需要money。

五、参考

1. 官方

https://jfrog.com/help/r/jfrog-installation-setup-documentation/system-requirements

https://jfrog.com/help/r/jfrog-installation-setup-documentation/installing-artifactory

https://jfrog.com/help/r/jfrog-installation-setup-documentation/install-artifactory-single-node-with-linux-archive

https://jfrog.com/help/r/jfrog-installation-setup-documentation/database-configuration

https://jfrog.com/help/r/jfrog-installation-setup-documentation/system-yaml-configuration-file

https://jfrog.com/knowledge-base/how-can-i-fix-case-insensitive-database-to-be-case-sensitive/

2. 其他

https://computingforgeeks.com/how-to-install-jfrog-artifactory-on-centos/