3

如何配置 PostgreSQL 而不是MySQL来运行artifactory

4

2 回答 2

3

repo.xml 文件的链接已损坏且不正确(因为它指向 mysql 配置)。

获取正确的 repo.xml 文件

  1. 从网站下载 OSS 版本 。
  2. 解压到一个文件夹
  3. 查看提取的文件夹并转到 /etc/repo
    您对 postgres 有两种可能性:
    A. filesystem-postgres/repo.xml
    B. postgres/repo.xml

  4. 复制 $ARTIFACTORY_HOME/etc/repo/ 中的文件夹 A 或 B

  5. 根据您的数据库配置,将用户名/密码和数据库信息编辑到您刚刚复制的 **/repo.xml 文件中。

注意:请记住,这将影响您在 $ARTIFACTORY_HOME/etc/artifactory.system.properties 中所做的更改(artifactory.jcr.configDir=filesystem-postgres OR artifactory.jcr.configDir=repo/postgresql)

于 2012-04-24T14:02:01.717 回答
2

在 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&amp;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 目录中,并且如说明所述,最好针对全新安装运行它。

祝你好运

于 2009-07-09T16:39:01.563 回答