创建PostgreSQL数据库
支持的PostgreSQL版本
Artifactory支持PostgreSQL版本13。X及以下(2021年EOL为9.5和9.6)。
使用下面的命令创建具有适当权限的Artifactory用户和数据库。修改相关值以匹配您的具体环境:
用PASSWORD创建用户artifactory创建数据库artifactory WITH OWNER=artifactory ENCODING='UTF8';授予数据库artifactory的所有权限;
一旦您验证了脚本是正确的,您就需要运行它来创建数据库并继续配置数据库。
Artifactory特权
我们建议为Artifactory提供数据库上的全部权限。
配置Artifactory使用PostgreSQL
当你配置Artifactory使用PostgreSQL时,所有的工件信息都存储在PostgreSQL中,而工件二进制数据存储在文件系统(在$ JFROG_HOME / artifactory / var /数据/ artifactory / filestore
).
虽然可以在PostgreSQL中存储blob,但我们不建议这样做。这一点很重要,因为PostgreSQL驱动程序不支持将长度未知的blob流式传输到数据库。因此,Artifactory暂时将部署的文件保存到文件系统中,然后才将BLOB保存到数据库中。
配置Artifactory使用PostgreSQL单节点
- 停止Artifactory服务。
控件中编辑数据库连接详细信息system.yamlconfiguration file如下。
shared: database: type: postgresql driver: org.postgresql.Driver url: jdbc:postgresql://
/artifactory username: artifactory password: password - 启动Artifactory服务。
配置HA使用PostgreSQL数据库
可从Artifactory 7.31.10。
- 停止Artifactory服务。
编辑
system.yaml
文件更新以下值。因为Artifactory使用多个驱动程序,您需要分别为这些驱动程序配置连接字符串。
的
url
田地下面共享
数据库部分,格式如下。jdbc:postgresql://< postgresql Database 1 URL>,…,
/artifactory?targetServerType =主 的
url
田地下面元数据
数据库部分,格式如下。jdbc:postgresql://< postgresql Database 1 URL>,…,
/artifactory?target_session_attrs =读写” 下面的示例展示了一个示例
system.yaml
文件配置。systemYaml: shared: logging:…数据库:type: postgresql url: jdbc:postgresql://17.21.0.2:5432,17.21.0.3:5432/artifactory?targetServerType =主" driver: org.postgresql.Driver username: "artifactory" password: "password" artifactory: Database: ... frontend: ... access: ... metadata: database: type: postgresql url: "jdbc:postgresql://17.21.0.2:5432,17.21.0.3:5432/artifactory?target_session_attrs=read-write" driver: org.postgresql.Driver username: "artifactory" password: "password" ...
- 启动Artifactory服务。
启用TLS加密
若要启用PostgreSQL的TLS加密功能,请设置sslmode
财产verify-full
在JDBC连接器URL。
例如,在$ JFROG_HOME / artifactory / var / etc / system.yaml文件:
共享:数据库:…url: jdbc: postgresql: / / mypostgress.mydomain.com: 5432 / artifactory ? ssl = true&sslfactory = org.postgresql.ssl.jdbc4.LibPQFactory&sslmode =验证- full&sslrootcert = / tmp /服务器。crt……
如果您使用的是旧证书或拥有在2020年7月之前创建的AWS RDS实例,则不会启用主题替代名称(SAN)。要解决这个问题,您需要生成一个新的SAN证书。