2015-08-06 27 views
5

Recentemente ho iniziato a utilizzare Codeship come strumento CI/CD per un piccolo sito Web che sto mantenendo. Ho impostato il mio progetto Codeship per la distribuzione tramite sftp come described in their guide here.La distribuzione continua con Codeship non riconosce le variabili di ambiente

La parte in cui non riesce è nello script di produzione. Ho creato una cartella deploy e uno script production.sh che contiene la linea:

put -rp "${HOME}/clone/build/*" /path/to/remote/dir 

Tuttavia quando si esegue la compilazione ottengo il seguente errore:

sftp> put -rp "${HOME}/clone/build/*" /path/to/remote/dir 
stat ${HOME}/clone/build/*: No such file or directory 

Facendo eco $HOME in uno script di test direttamente nel Codeship mi dà la mia home directory, quindi la variabile d'ambiente funziona. Tuttavia, al momento dell'esecuzione dello script batch, la variabile di ambiente non viene riconosciuta.

Come posso risolvere questo? Preferisco non codificare il percorso nel mio script di distribuzione. Inoltre, non sembra possibile che ciò accada perché ho suffisso production.sh, mentre nei documenti hanno solo uno script production?

+0

Ha ottenuto lo stesso problema - avete risolto questo? – markbarton

+0

L'assistenza sta esaminando questo aspetto, stanno tornando da me – Lodybo

+0

Ti consiglio di utilizzare rsync per l'implementazione della produzione. –

risposta

1

In assenza di risposta da parte di persone provenienti da Codeship, sono risultato di scrivere il percorso assoluto per la directory ${HOME}. Lo sto facendo da tempo con alcuni progetti diversi e tutto sembra funzionare.

+0

Puoi anche accettare la tua risposta. – peterh

+1

Hai ragione, l'ho appena accettato. – Lodybo

-1

sostituire $ {HOME}/clone con ~/clone

questo ha funzionato per me