.run 및 .runwait

.run [-c "<condition>"] "<ProjectName>" ["<ProjectSnapshotName>"]
.runwait [-c "<condition>"] "<ProjectName>" ["<ProjectSnapshotName>"]

.run 및 .runwait 명령을 사용하여 단계 명령에서 체인 프로젝트를 실행할 수 있습니다. 프로젝트의 스냅샷을 지정하려면 선택적 <ProjectSnapshotName> 매개변수를 사용하십시오.

프로젝트를 실행한 후의 동작 방법에서 두 명령이 다릅니다.

조건부 실행

선택적 -c 매개변수를 사용하여 조건에 따라 실행할 수 있습니다. 조건에서 환경 변수를 사용할 수 있습니다. 조건은 다음 여러 양식 중 하나일 수 있습니다.
문자열 비교
동일(=) 또는 동일하지 않음(!=) 연산자를 사용하여 문자열을 평가할 수 있습니다. 비교가 참으로 평가되면 체인이 실행됩니다.
숫자 비교
<, >, <>, >< 또는 = 연산자를 사용하여 두 개의 숫자 값을 비교할 수 있습니다.
명령 성공
백틱(backtick)으로 묶은 명령을 -c 매개변수 값으로 사용할 수 있습니다. 시스템은 명령을 실행합니다. 명령이 성공하면 체인이 실행됩니다.

예제:

.run "BuildWindowsDriver"

시스템이 BuildWindowsDriver 프로젝트를 실행합니다. 실행 프로젝트는 다음 단계를 즉시 계속합니다.

.runwait "BuildWindowsDriver"

시스템이 BuildWindowsDriver 프로젝트를 실행합니다. 시스템은 .runwait 단계에서 실행 프로젝트를 일시정지합니다. BuildWindowsDriver 프로젝트가 완료되어 전달되면, .runwait 단계의 상태가 패스로 설정됩니다.

.run -c "$HOMEDRIVE=C:" "Simple Echo"

시스템은 HOMEDRIVE 변수 값이 C인 경우에만 Simple Echo 프로젝트를 실행합니다.

이 명령은 단계 로그의 EXEC 섹션에 다음과 같은 로그 출력을 생성합니다.
  • HOMEDRIVE가 C:인 경우:
    .run Condition: 'C:' = 'C:' satisfied.
    
    Queueing Project "Simple Echo" on server [WinBox].
    Queued Build 'BUILD_202' of project 'Simple Echo'.
  • HOMEDRIVE가 C:가 아닌 경우:
    .run -c "$HOMEDRIVE=C:" "Simple Echo"     
    
    .run Condition: 'D:' = 'C:' unsatisfied, no project queued.

시스템은 문자열에 숫자가 포함된 경우 문자열을 수치적으로 비교합니다. 예를 들어, 다음 경우를 표시된 대로 처리합니다.

.runwait -c "a12b<c42d" "Simple Echo"

.run Condition: '12' < '42' satisfied. 
Queueing Project "Simple Echo" on server [WinBox]. 
.run 빌드(4411)가 완료되기를 기다리는 중입니다.
.run 빌드가 지금 실행 중입니다.
.run build has finished. 
Build 'BUILD_203' of project 'Simple Echo' completed. 

.runwait -c "f43g<>h43i" "Simple Echo"

.run Condition: '43' <> '43' unsatisfied, no project queued. 

다음 예제는 명령을 조건으로 사용하는 방법을 보여줍니다. 따옴표와 백틱(backtick) 모두로 명령을 묶어야 한다는 점에 유의하십시오.

.run -c "`exit 1`" "Simple Echo"

Env .run encountered an error during variable expansion, parameter [`exit1`] expanded to [].
Expansion returned non-zero exit, project will not be queued. 

.run -c "`exit 0`" "Simple Echo"

Expansion returned zero exit, project will be queued.
Queueing Project "Simple Echo" on server [WinBox]. 
Queued Build 'BUILD_204' of project 'Simple Echo'.

.runwait를 사용하고 빌드가 실패하는 경우, 로그는 다음과 같습니다.

.runwait "Fail Build"

Queueing Project "Fail Build" on server [WinBox]. 
Waiting for .run build (4413) to complete.
.run 빌드가 지금 실행 중입니다.
.run build has finished. 
Build 'BUILD_3' of project 'Fail Build' Failed, setting step status to fail.

피드백