【问题标题】:How to configure Artifactory using PostgreSQL instead of MySQL?如何使用 PostgreSQL 而不是 MySQL 配置 Artifactory?
【发布时间】:2010-11-09 08:43:17
【问题描述】:

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

【问题讨论】:

  • 您使用的是哪个版本的 Artifactory?

标签: java maven-2 repository artifactory


【解决方案1】:

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

获取正确的 repo.xml 文件

  1. web site下载OSS版本。
  2. 解压到文件夹
  3. 查看提取的文件夹并转到 /etc/repo
    postgres 有两种可能性:
    A. 文件系统-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 或 artifactory.jcr.configDir=repo /postgresql)

【讨论】:

    【解决方案2】:

    在 Artifactory 2 上,您可以按照您引用的说明配置数据源,只需对 PostgreSQL 执行等效操作(替换等效值)。

    因此修改 $ARTIFACTORY_HOME/etc/artifactory.system.properties 以取消注释(并修改)该行:

    artifactory.jcr.configPath=repo/postgresql
    

    创建文件

    $ARTIFACTORY_HOME/etc/repo/postgresql/repo.xml
    

    作为base使用的repo.xml在文章中有引用,也可以找here

    然后您需要设置 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 目录中,按照说明,最好在全新安装的情况下运行它。

    祝你好运

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 2018-05-07
      • 2013-07-12
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-05
      • 1970-01-01
      相关资源
      最近更新 更多