Como configurar Artifactory usando PostgreSQL em vez do MySQL?
-
12-09-2019 - |
Pergunta
Como se poderia configurar PostgreSQL em vez de MySQL para executar artifactory ?
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&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 ??p>
- Baixando a versão OSS do web site .
- extraí-lo para uma pasta ??li>
-
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
-
copiar a pasta A ou B no seu $ ARTIFACTORY_HOME / etc / repo /
- 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)