Artifactory是JFrog出品的全功能制品库。所谓制品,可以表示任何软件构建过程的产出,包括:Docker镜像、NPM包、RPM/Debian等操作系统安装包、Helm Chart、Maven构建等。
Artifactory包含一套产品,其开源版本为Artifactory OSS。该版本提供的特性包括:
-
基本的构件管理功能:
-
代理、缓存远程构件
-
批量的构件上传
-
为存储的构件设置包含/排除规则
-
通过REST或者UI上传构件
-
通过UI增删改查构件
-
基于Checksum的存储,支持去重
-
-
和主流的CI服务器集成
-
强大的REST API
-
安全性:
-
LDAP身份验证
-
基于角色的访问控制
-
-
根据名称、属性、归档、Checksum值来检索
-
构件查询语言AQL
-
增量备份服务
-
构件发生变化后邮件提醒
部署
mkdir -p /data/jfrog
cd /data/jfrog
docker pull registry.cn-hongkong.aliyuncs.com/wanjiedata/artifactory-oss:7.71.11
mkdir -p /data/jfrog/artifactory/var/etc
vim /data/jfrog/artifactory/var/etc/system.yaml
configVersion: 1
shared:
node:
id: "art1"
ip: "192.168.142.145"
database:
type: mysql
driver: com.mysql.jdbc.Driver
url: "jdbc:mysql://192.168.142.145:3306/artdb?characterEncoding=UTF-8&elideSetAutoCommits=true&useSSL=false"
username: artifactory
password: password
apt install -y mysql-server
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
exit
mysql -uroot -p123456
CREATE DATABASE artdb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'artifactory'@'%' IDENTIFIED BY '123456';
GRANT ALL on artdb.* TO 'artifactory'@'%';
FLUSH PRIVILEGES;
exit
cd /data/jfrog/artifactory/var/etc
mkdir artifactory
vim binarystore.xml
<?xml version="1.0" encoding="UTF-8"?>
<config version="1">
<chain template="file-system"/>
<provider id="file-system" type="file-system">
<fileStoreDir>/var/opt/jfrog/artifactory/data/artifactory/filestore</fileStoreDir>
</provider>
</config>
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-8.0.13.tar.gz
tar zxf mysql-connector-java-8.0.13.tar.gz
mkdir -p /data/jfrog/artifactory/var/bootstrap/artifactory/tomcat/lib
cp mysql-connector-java-8.0.13/mysql-connector-java-8.0.13.jar /data/jfrog/artifactory/var/bootstrap/artifactory/tomcat/lib
chown -R 1030:1030 /data/jfrog/artifactory/var/
chmod 777 -R /data/jfrog/artifactory/var/
cd /data/jfrog
vim docker-compose.yml
services:
artifactory:
image: registry.cn-hongkong.aliyuncs.com/wanjiedata/artifactory-oss:7.71.11
container_name: artifactory
ports:
- 8081:8081
- 8082:8082
volumes:
- /data/jfrog/artifactory/var/:/var/opt/jfrog/artifactory
- /etc/localtime:/etc/localtime
docker compose up -d
最后在浏览器端使用 ip 地址访问