如何配置 PostgreSQL 而不是MySQL来运行artifactory?
2 回答
repo.xml 文件的链接已损坏且不正确(因为它指向 mysql 配置)。
获取正确的 repo.xml 文件
- 从网站下载 OSS 版本 。
- 解压到一个文件夹
查看提取的文件夹并转到 /etc/repo
您对 postgres 有两种可能性:
A. filesystem-postgres/repo.xml
B. postgres/repo.xml复制 $ARTIFACTORY_HOME/etc/repo/ 中的文件夹 A 或 B
- 根据您的数据库配置,将用户名/密码和数据库信息编辑到您刚刚复制的 **/repo.xml 文件中。
注意:请记住,这将影响您在 $ARTIFACTORY_HOME/etc/artifactory.system.properties 中所做的更改(artifactory.jcr.configDir=filesystem-postgres OR artifactory.jcr.configDir=repo/postgresql)
在 Artifactory 2 上,您可以根据您引用的说明配置数据源,只需对 PostgreSQL 执行等效操作(替换等效值)。
因此修改 $ARTIFACTORY_HOME/etc/artifactory.system.properties 以取消注释(并修改)该行:
artifactory.jcr.configPath=repo/postgresql
创建文件
$ARTIFACTORY_HOME/etc/repo/postgresql/repo.xml
文章中引用了用作基础的 repo.xml,或者您可以在此处找到它
然后,您需要设置 repo.xml 的内容以匹配您的数据库设置(从引用文件中提取相关部分并修改我可以修改的部分):
<!-- MySQL Filesystem -->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql:[your database URL]"/>
<param name="user" value="artifactory_user"/>
<param name="password" value="password"/>
<!-- Leave this on "mysql", don't know how these apply for PostgreSQL -->
<param name="schema" value="[postgresql??]"/>
<param name="schemaObjectPrefix" value="rep_"/>
</FileSystem>
<!-- http://wiki.apache.org/jackrabbit/DataStore -->
<!-- MySQL Datastore -->
<DataStore class="org.artifactory.jcr.jackrabbit.ArtifactoryDbDataStoreImpl">
<param name="url" value="jdbc:postgresql:[your database URL]"/>
<param name="tablePrefix" value=""/>
<param name="user" value="artifactory_user"/>
<param name="password" value="password"/>
<param name="databaseType" value="postgresql"/>
<param name="driver" value="org.postgresql.Driver"/>
<param name="minRecordLength" value="512"/>
<param name="maxConnections" value="15"/>
<param name="copyWhenReading" value="true"/>
</DataStore>
<!-- PostGreSQL Persistance Manager -->
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="url"
value="jdbc:mysql://localhost:3306/artifactory?useUnicode=true&characterEncoding=UTF-8"/>
<param name="user" value="artifactory_user"/>
<param name="password" value="password"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>
请记住将PostgreSQL jar放到 WEB-INF/lib 目录中,并且如说明所述,最好针对全新安装运行它。
祝你好运