2017-09-13 1 views
1

J'ai une tâche de concours basée sur shell qui utilise des informations d'identification semi-sensibles (une clé d'un serveur de test) dans l'une de ses commandes. Je voudrais éviter cela étant connecté dans la sortie de la tâche.Empêche la consignation d'une commande spécifique dans Concourse CI

L'essentiel du pipe-line:

jobs: 
- name: foobar 
    plan: 
    <...> 
    - task: build 
    config: 
     platform: linux 
     image_resource: 
     type: docker-image 
     source: 
      repository: ubuntu 
     <...> 
     run: 
     path: bash 
     args: 
     - -exc 
     - | 
      command-which-is-ok-to-print 
      foobar {{my-secret-data}}    # <-- hide this one! 
      another-command-which-is-ok-to-print 

Actuellement la sortie apparaît comme:

+ command-which-is-ok-to-print 
results of first command which are OK to print 
+ foobar "oh-no-secret-data-here!"     <-- hide this one! 
more results which are OK to print 
+ another-command-which-is-ok-to-print 
even more results which are OK to print 

Est-il possible de supprimer l'impression de cette ligne spécifique?

Répondre

1

Je pigé que -exc a été effectivement mise en e les drapeaux et x (je l'avais supposé que c'était sténographie pour execute!

Le -x est ce qui provoque les commandes à résonnaient (par bash lui-même plutôt que de concours), ce qui a empêché l'exécution d'une seule commande:

<...> 
    run: 
    path: bash 
    args: 
    - -exc 
    - | 
     command-which-is-ok-to-print 
     set +x 
     foobar {{my-secret-data}} 
     set -x 
     another-command-which-is-ok-to-print