Pergunta

Como se poderia configurar PostgreSQL em vez de MySQL para executar artifactory ?

Foi útil?

Solução

Em Artifactory 2 é possível configurar a fonte de dados de acordo com as instruções que fazem referência, basta fazer o equivalente para PostgreSQL (substituindo os valores equivalentes).

Assim modificar $ ARTIFACTORY_HOME / etc / artifactory.system.properties para descomentar (e modificar) a linha:

artifactory.jcr.configPath=repo/postgresql

Crie o arquivo

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

O repo.xml para usar como uma base é referenciado no artigo, ou você pode encontrá-lo aqui

Você precisa então de conteúdos conjunto de repo.xml para corresponder às suas configurações de banco de dados (extraído as secções relevantes do arquivo referenciado e modificou o que eu posso):

<!-- 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>

Lembre-se de deixar cair a PostgreSQL jar para o diretório WEB-INF / lib, e como as instruções dizem, provavelmente melhor para executar este contra uma instalação limpa.

Boa sorte

Outras dicas

O link para o arquivo repo.xml está quebrado e não correta (porque apontam para configuração do mysql).

Para obter o arquivo repo.xml correta

  1. Baixando a versão OSS do web site .
  2. extraí-lo para uma pasta
  3. Dentro da pasta extraída e ir para / etc / repo
    Você tem duas possibilidades para postgres:
    A. filesystem-postgres / repo.xml
    B. postgres / repo.xml

  4. copiar a pasta A ou B no seu $ ARTIFACTORY_HOME / etc / repo /

  5. editar nome de usuário / senha e informações de banco de dados no arquivo ** / repo.xml você apenas copiados de acordo com a configuração do banco de dados.

NOTA: lembre-se que isso vai impactar a mudança que você fez em $ ARTIFACTORY_HOME / etc / artifactory.system.properties (artifactory.jcr.configDir =-postgres filesystem OU artifactory.jcr.configDir = repo / PostgreSQL)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top