Ok. Questo mi sta facendo impazzire lentamente. Ho impostato CI su Travis per uno dei miei progetti. Sto eseguendo alcuni test JUnit e vorrei caricare i risultati dei test sul mio server, quindi è molto più semplice consultarli.Come utilizzare correttamente l'arricciatura nel file di configurazione Travis-CI (YAML)?
In sostanza, tutto quello che voglio fare è chiamare questo:
curl -H 'Authorization: Token someToken' -X POST http://my.server.com -F [email protected]
Quindi questo è quello che sto cercando di fare in .travis.yml file.
after_script:
- curl -H 'Authorization: Token someToken' -X POST http://my.server.com -F [email protected]
Il problema è che per la linea di cui sopra sto ottenendo un errore che assomiglia a questo:
$ {:"curl -H '\"Authorization"=>"Token someToken\"' -X POST http://my.server.com -F [email protected]"}
/home/travis/build.sh: line 45: Token someToken"' -X POST http://my.server.com -F [email protected]}: No such file or directory
Ho imparato che in YAML colon rappresenta una coppia di valori-chiave e io Ho scoperto che si può semplicemente usare le virgolette per sfuggire ai due punti.
Bene: questo è il posto in cui sono bloccato. Ho provato ad applicare quelle citazioni in molti modi diversi ma in qualche modo ogni volta continuo a ripetere lo stesso errore.
Ad esempio:
curl -H '"Authorization: Token someToken"'
curl -H "\"Authorization: Token someToken\""
curl -H "'Authorization: Token someToken'"
curl -H '"Authorization": Token someToken'
mi sembra di essere stupido e so che la correzione per questo è probabilmente una cosa semplice, ma mi sono sentito in quella cosa "fuga citazioni durante la fuga citazioni" e se chiunque potrebbe indicarmi la giusta direzione, sarei davvero grato.
sto anche il collegamento a queste domande come ho cercato di seguirli per risolvere il mio problema:
How to escape indicator characters (i.e. : or -) in YAML
Puoi fare '- "curl 'Autorizzazione: Token someToken' -H -X POST http: //my.server.com -F [email protected] "'? –
Sfortunatamente, sto ricevendo lo stesso errore. Inoltre, nel file di log di Travis, sembra che le virgolette siano ignorate. – scana
Un'altra opzione, probabilmente non preferibile, è quella di utilizzare uno script di shell con tale comando (o generarlo, se applicabile) ed eseguirlo. –