Ich versuche CircleCI zu verwenden, um automatisierte Tests auszuführen. Ich habe eine Datei config.yml, die Geheimnisse enthält, die ich aus Gründen des Zugriffs nicht in meinen Repo hochladen möchte.Umgebungsvariablen in CircleCI verwenden
So habe ich eine Reihe von env erstellt varialbes im Abschnitt Projekteinstellungen:
VR_API_KEY = some_value
CLARIFAI_CLIENT_ID = some_value
CLARIFAI_CLIENT_SECRET = some_value
IMAGGA_API_KEY = some_value
IMAGGA_API_SECRET = some_value
Die config.yml habe ich die aktuellen Werte entfernt und sieht aus wie dieses
visual-recognition:
api-key: ${VR_API_KEY}
clarifai:
client-id: ${CLARIFAI_CLIENT_ID}
client-secret: ${CLARIFAI_CLIENT_SECRET}
imagga:
api-key: ${IMAGGA_API_KEY}
api-secret: ${IMAGGA_API_SECRET}
Ich habe einen Test, der im Grunde die API-Client-Instanzen erstellt und alles konfiguriert, dieser Test schlägt fehl, da CircleCI die Werte nicht richtig ersetzt ... hier ist die Ausgabe einiger Ausdrucke (das ist nur, wenn die Werte aus der Konfig gelesen werden .yml)
-------------------- >> begin captured stdout << ---------------------
Checking tagger queries clarifai API
${CLARIFAI_CLIENT_ID}
${CLARIFAI_CLIENT_SECRET}
COULD NOT LOAD: 'UNAUTHORIZED'
--------------------- >> end captured stdout << ----------------------
Das konnte nicht geladen werden: ‚unerlaubt‘ erwartet, da unvalid Anmeldeinformationen Tanzversagen Oauth führen
Irgendwelche Hinweise? Vielen Dank!
Bedeutung es keine Substitution ist und daher alle Tests fehlschlagen .... was ich ... übrigens hier falsch zu machen, ich habe keine circle.yml Datei noch ... brauche ich ein?
Danke!
EDIT: Wenn jemand in das gleiche Problem führt, war Lösung ziemlich einfach, ich habe einfach die config.yml Datei chiffriert wie hier
dargestellthttps://github.com/circleci/encrypted-files
dann in circle.yml nur hinzufügen eine Anleitung zum Entschlüsseln und Benennen der Ausgabedatei config.yml ... und das wars!
dependencies:
pre:
# update locally with:
# openssl aes-256-cbc -e -in secret-env-plain -out secret-env-cipher -k $KEY
- openssl aes-256-cbc -d -in config-cipher -k $KEY >> config.yml
Siehe meine bearbeitete Frage, es geschafft, es mysefl zu beheben – AlejandroVK