Come consigliato in a previous SO-Answer Sto eseguendo un'immagine VmWare di secureci come un'infrastruttura di sviluppo preconfigurata contenente maven, nexus, hudson, svn.Come distribuire su nexus (ospitato da secureci)?
Ora voglio configurare Maven sulla mia macchina Windows XP per distribuire i suoi artefatti su nexus. Ma quando ho configurare il mio pom.xml come questo (tratto da Deploying Artifacts to Nexus):
<distributionManagement>
<!-- use the following if you're not using a snapshot version. -->
<repository>
<id>nexus</id>
<name>RepositoryProxy</name>
<url>scp://192.168.0.197/nexus/content/repositories/releases</url>
</repository>
<!-- use the following if you ARE using a snapshot version. -->
<snapshotRepository>
<id>nexus</id>
<name>RepositoryProxy</name>
<url>scp://192.168.0.197/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
... mvn deploy
stampa il messaggio di errore:
Error deploying artifact: Exit code: 1 -
mkdir: cannot create directory `/nexus': Permission denied
In settings.xml
ho configurato username e password in questo modo:
<servers>
<server>
<id>nexus</id>
<username>tangens</username>
<password>********</password>
</server>
</servers>
domanda: Quale configurazione devo utilizzare per la distribuzione di nex noi?
Ho già provato https
invece di scp
, ma con questo Maven corse in problemi con certificati mancanti.
Ho provato http
anziché scp
, ma secureci ha installato un firewall per bloccare l'accesso alla porta 80 (http), causando un timeout.
EDIT:
ho scoperto che nesso memorizza i propri manufatti in /root/sonatype-work/nexus/storage/snapshots/
. Ma non mi piace l'idea di inserire le credenziali dell'account root nel mio settings.xml
.
EDIT:
D: Avete abilitato distribuzione per un repository ospitato sotto Nexus?
Sì, è abilitato per impostazione predefinita.
Q: Nexus sta ascoltando sulla porta 80?
C'è un Apache in esecuzione sulla porta 80. Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 mod_ssl/2.2.8 OpenSSL/0.9.8g mod_wsgi/1.3 Python/2.5.2
D: Se un firewall non sta permettendo HTTP, perché non basta aggiungere un'eccezione per le connessioni HTTP dal " host "IP?
Perché ho assunto che SecureCI sia configurato correttamente e che ci sia un modo per farlo senza modificare l'installazione. Ma forse sono troppo ingenuo qui.
Ho integrato le tue domande nel mio post. – tangens
Ho forato il firewall come suggerito. Ora posso fare una distribuzione con 'http'. Se non viene visualizzata alcuna altra soluzione che consenta l'implementazione senza modificare l'installazione, accetterò questa risposta. Grazie. – tangens
Ok. Nel frattempo ho aggiunto un altro suggerimento (domanda?). Ma è bello saperlo. –