2015-01-05 1 views
1

도커 관련 작업을 외부화하는 빌드 등급 파일이 있습니다.모자를 쓰지 않고 모자이크로 적용하십시오.

내 build.gradle 파일은 도커 이미지 이름을 정의합니다.

build.gradle :

def docker = [ 
     imageName: "myOrg/$rootProject.name:$version", 
] 

apply from: 'build-config/docker.gradle' 

적용된 스크립트가 docker.imageName 변수에 액세스 작업이 포함되어 있습니다.

... 
task buildImage(group: "Docker", dependsOn: createDockerfile, type:Exec) { 
    executable "docker" 
    args 'build','-t',docker.imageName,'build' 
} 

docker.gradle은 지금은 에러 나는 적용 frome 크로스 Gradle을 스크립트에 내 build.gradle에 정의 된 변수를 사용할 수있는 방법을 Could not find property 'docker' on task ':buildImage'.

를 얻을.

ext.docker = [ 
    imageName: "myOrg/$rootProject.name:$version", 
] 

apply from: 'build-config/docker.gradle' 

기본적으로 ext 네임 스페이스는 프로젝트 수준의 사용자 지정 속성을 정의하는 데 사용됩니다 후 적용 스크립트 docker.gradle에 액세스 할 수있는, 다음과 같이

답변

3

, build.gradle에서 docker 변수의 선언에 ext.def 교체 이는 프로젝트의 범위에 속합니다.

def만으로는 속성 표시 여부가 스크립트 파일로만 제한됩니다.

관련 문제