2017-03-14 20 views
0

我要運行它使用文件目錄鹽內,例如一個命令(cmd.run):如何使用cmd.run的鹽目錄中的文件?

fly_set_{{ pipeline }}: 
    cmd.run: 
    - name: | 
     fly -t ci set-pipeline -p {{ pipeline }} -c pipeline.yml -l credentials.yml 
    - require: 
     - cmd: fly_login_{{name}} 
     - file: /etc/concourse/teams/builds/{{ pipeline }}/pipeline.yml 
     - file: /etc/concourse/teams/builds/{{ pipeline }}/credentials.yml 

這是正確的做法還是做我需要做的第一?

file: 
    managed: 
    - source: salt://concourse/teams/builds/{{ pipeline }}/pipeline.yml 
+0

澄清你想在salt-server中執行cmd.run的位置?或鹽 - 奴才? – mootmoot

回答

3

我不知道什麼是你想實現的,但如果你的命令取決於多個文件正確的方式做,這將是:

/etc/concourse/teams/builds/{{ pipeline }}/pipeline.yml: 
    file.managed: 
    - source: salt://concourse/teams/builds/{{ pipeline }}/pipeline.yml 

/etc/concourse/teams/builds/{{ pipeline }}/credentials.yml: 
    file.managed: 
    - source: salt://concourse/teams/builds/{{ pipeline }}/credentials.yml 

fly_set_{{ pipeline }}: 
    cmd.run: 
    - name: | 
     fly -t ci set-pipeline -p {{ pipeline }} -c pipeline.yml -l credentials.yml 
    - require: 
     - file: /etc/concourse/teams/builds/{{ pipeline }}/pipeline.yml 
     - file: /etc/concourse/teams/builds/{{ pipeline }}/credentials.yml 

前兩個file.managed指令將確保這兩個文件都存在於隨從中。 cmd.run中的require指令將確保命令的執行之前在文件上存在文件。

相關問題