2017-10-25 11 views
0

Bosh Job Spec 파일에서 복사 할 템플릿을 나열 할 수 있습니다.BOSH에서 여러 개의 템플릿 파일을 복사하는 방법은 무엇입니까?

templates: 
    ctl.sh: bin/ctl 
    config.json: config/config.json 

와일드 카드를 사용하거나 여러 파일을 복사하는 방법이 있습니까? 1 매핑, 내가 대상 경로를 가정 할 수있다 생각하지만 (현재), 와일드 카드를 지원하지 않습니다

이와 같은 방법으로 ... 작업 사양에

templates: 
    *.sh: bin/ 
    *.xml: config/ 

답변

1

템플릿 섹션은 1 , 그들은 명백하게하기위한 것입니다. 그러나 이러한 파일은 ERB 구성 파일을 사용하여 매니페스트/yml에서 속성을 가져 와서 사용 사이의 유연성을 허용하려는 경우에만 사용됩니다.

그러나 개의 파일 중 동적 속성이 필요하지 않은 파일은 템플릿 또는 종속성인지 고려해야합니다. 패키지를 사용하여 와일드 카드 사용을 포함하여 전체 아카이브 또는 폴더를 종속성으로 포함 할 수 있으며 작업 수명주기의 일부로 자동 압축 해제 할 수 있습니다. https://bosh.io/docs/create-release.html#pkg-skeletons

각 패키지에는 파일을 배치 할 위치를 bosh에게 알려주는 패키지 스크립트가 있습니다.

# abort script on any command that exits with a non zero value 
set -e 

tar -xzf $BOSH_COMPILE_TARGET/xml/all-files.tar.gz 
cp -a all-files/* $BOSH_INSTALL_TARGET 

그리고 그 파일 (들)

--- 
name: xml-files 

dependencies: 

files: 
- xml/all-files.tar.gz 

파일 패키지 사양에 정의되어 있습니다 globs의를 포함 할 수있는이 패키지에 포함 된 파일의 목록입니다. A *는 모든 파일과 일치하며 glob의 다른 값으로 제한 할 수 있습니다 (예 : * .rb는 .rb로 끝나는 파일 만 일치시킵니다. **는 디렉토리를 재귀 적으로 찾습니다.

그리고 당신의 직업 사양을 참조하십시오.

--- 
name: myjob 
templates: 
    ctl.sh: bin/ctl 
    config.json: config/config.json 

packages: 
- xml-files