2017-07-06 5 views
0

Ich versuche, eine DevOps-Pipeline-Build-Phase zum Erstellen eines Containers mithilfe des Builders für IBM Container Service zu konfigurieren.Bluemix DevOps-Pipeline - Festlegen des Dockerfile-Verzeichnisses für den Builder für IBM Container Service?

Ich versuche, ein Docker Bild zu erstellen, die /server innerhalb des Repository in einem Unterordner sitzt:

$ tree keycloak 
keycloak 
├── adapter-wildfly 
│   ├─ ... 
├── server 
│   ├── Dockerfile 
│   ├── ... 
├── ... 

An der Spitze meines Build-Skript, dachte ich, dass ich den Ordner, indem das einstellen könnte WORKSPACE Umgebungsvariable:

export WORKSPACE=${WORKSPACE}/server 

Der Build schlägt jedoch fehl. Am Ende der Protokolldatei, ich sehe:

2017-07-06 15:39:32 UTC : Dockerfile not found in project 

Das git Projekt Dockerfile enthält, die ich versuche zu bauen: https://github.com/jboss-dockerfiles/keycloak


Update:

I Habe eine (fiese) Problemumgehung in diesem Moment gemacht, aber ich hätte lieber eine weniger hacky Lösung. In meinem Deployment-Skript, bin bewege ich den Ordner, den die Dockerfile in die übergeordneten Ordner enthält:

... 

# hacky workaround to build a Dockerfile not in the top level folder 
mv ${WORKSPACE}/server/* . 

if [ -f Dockerfile ]; then 
... 

Antwort

0

Der Build-Skript sucht standardmäßig für die Dockerfile im aktuellen Verzeichnis, aber dann baut es aus dem vollständig qualifizierten ARBEITSBEREICH . Sie müssen also den WORKSPACE aktualisieren und in das neue Arbeitsbereichsverzeichnis wechseln:

export WORKSPACE=${WORKSPACE}/server 
cd ${WORKSPACE} 
Verwandte Themen