2017-07-06 3 views
0

J'essaie de configurer une étape de génération de pipeline DevOps pour créer un conteneur à l'aide du générateur IBM Container Service.Pipeline Bluemix DevOps - comment définir le répertoire Dockerfile pour IBM Container Service Builder?

Je suis en train de construire une image docker qui se trouve dans un sous-dossier /server à l'intérieur du dépôt:

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

Au sommet de mon script de construction, je pensais que je pouvais mettre le dossier en réglant la Variable d'environnement WORKSPACE:

export WORKSPACE=${WORKSPACE}/server 

Toutefois, la génération échoue. A la fin du fichier journal, je vois:

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

Le projet git contenant le Dockerfile que je suis en train de construire est: https://github.com/jboss-dockerfiles/keycloak


Mise à jour:

I J'ai mis une solution (méchante) dans ce travail pour l'instant, mais je préfère avoir une solution moins hacky. Dans mon scénario de déploiement, je me déplace le dossier qui contient le Dockerfile dans le dossier parent:

... 

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

if [ -f Dockerfile ]; then 
... 

Répondre

0

Le script de compilation par défaut recherche le Dockerfile dans le répertoire courant, mais il construit ensuite de la zone de travail qualifié . Vous devez donc mettre à jour WORKSPACE et le remplacer par le nouveau répertoire d'espace de travail:

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