2017-10-04 5 views
1

J'utilise le plugin Docker pour le bambou et j'ai besoin d'exécuter un script dans le conteneur du docker.Comment envoyer des variables bamboo du script Bamboo au conteneur docker?

Le script sh contient:

echo \"ini_source_path\": \"${bamboo.ini_source_path}\", 

et si je mets cette ligne directement dans le conteneur de commande, le $ {} bamboo.ini_source_path sera remplacée par la valeur de cette variable.

Le problème quand je mets /bin/bashscript.sh dans Command Container parce que je reçois une erreur:

script.sh: line 35: \"${bamboo.ini_source_path}\",: bad substitution 

Est-il possible que je peux atteindre variable bamboo.ini_source_path de mon script dans docker récipient?

Merci!

+0

Avez-vous essayé de le transmettre en tant que variable d'environnement au conteneur? – frennky

+0

Non, j'ai trop de variables, en espérant que je ne pourrai pas passer chacune d'elles dans le conteneur. – Kitty

+0

Pouvez-vous voter si ma réponse vous aide? –

Répondre

0

Quelle version de Bamboo utilisez-vous? Ce problème a été résolu en bambou 6.1.0:

Unable to use variables in Container name field in Run docker task

Solution:

  • Créer une tâche de script qui fonctionne avant la Docker tâche.
  • Exécuter des commandes comme

    echo "export sourcepath=$ini_source_path" > scriptname.sh 
    chmod +x scriptname.sh 
    

Le Groupe Docker sera la carte $ {} bamboo.working.directory au volume de données Docker \. Par conséquent, le script scriptname.sh qui vient d'être créé est disponible dans le conteneur Docker. Le script sera exécuté et définira correctement la variable.