Jenkins 파일, Globals 변수가 있는지 확인

Ziv M

시간 초과에 대해 정의 된 Globals 변수가있는 jenkinsfile이 있습니다.

class Globals {
    static String TEST_TIMEOUT = ""
}

공유 라이브러리의 함수를 사용하고 있습니다. 전역 변수를 사용하여 함수의 시간 제한을 설정하고 있습니다. Globals 변수를 정의하지 않는 다른 프로젝트에서 사용하는 공유 라이브러리이므로 함수 파일에 환경 변수를 정의하여 시간 초과에 대한 기본값으로 사용할 수 있습니다.

env.TESTS_TIME_OUT="10080"

그런 다음 함수에서 Globals 변수가 있는지 확인하고 기본값을 사용하지 않는 경우 값을 시간 초과로 사용하고 싶습니다.

if(Globals.TEST_TIMEOUT){
   env.TESTS_TIME_OUT= "${Globals.TEST_TIMEOUT}"   
}
timeout(time: "${env.TESTS_TIME_OUT}", unit: 'MINUTES') {
.
.
.
}

이전에 env 매개 변수에 대해 성공했지만 이번에는 오류가 발생합니다.

No such field found: field java.lang.Class TEST_TIMEOUT 

이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 또는 Globals 변수가 있는지 확인하는 다른 방법이 있습니까?

감사합니다

zett42

당신은 잡을 수 groovy.lang.MissingPropertyException중 하나 경우에 Throw 될 Globals하거나 Globals.TEST_TIMEOUT존재하지 않습니다

try {
    env.TESTS_TIME_OUT = Globals.TEST_TIMEOUT
}
catch( groovy.lang.MissingPropertyException e ) {
    env.TESTS_TIME_OUT = "10080"
}

이 패턴을 일반 함수로 이동할 수도 있습니다.

def getPropOrDefault( Closure c, def defaultVal ) {
    try {
        return c()
    }
    catch( groovy.lang.MissingPropertyException e ) {
        return defaultVal
    }
}

... 다음과 같이 호출 할 수 있습니다.

env.TESTS_TIME_OUT = getPropOrDefault({ Globals.TEST_TIMEOUT }, '10080')

유사하게 다루고 싶은 다양한 글로벌이 많은 경우 유용 할 수 있습니다. 많은 try/ catch블록 을 작성하지 못하도록 보호 합니다.

클로저는 표현식 Globals.TEST_TIMEOUT함수 호출 이전 아닌 try/ catch블록 내부에서 평가 되는지 확인하는 데 필요합니다 getPropOrDefault.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python : .txt 파일에 변수가 있는지 확인

분류에서Dev

Jenkins 선언적 파이프 라인에서 비밀번호 매개 변수가 비어 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

PhpStorm 파일 템플릿에서 변수가 비어 있는지 확인

분류에서Dev

Jenkins에 파일 삭제 권한이 있는지 확인하는 방법

분류에서Dev

세트에 일부 매개 변수가 있는지 확인

분류에서Dev

Python 3.5-변수가 파일과 동일한 지 확인

분류에서Dev

Bash + 홈 경로가있는 파일이 있는지 확인 ~

분류에서Dev

접두사가있는 파일이 있는지 perl glob 확인

분류에서Dev

파일에 확장자가 있는지 정규식 확인

분류에서Dev

Python : globals ()에 변수가 있는지 확인하면 로컬 컨텍스트에서 보이지 않게됩니다.

분류에서Dev

Python : globals ()에 변수가 있는지 확인하면 로컬 컨텍스트에서 보이지 않게됩니다.

분류에서Dev

Python-파일 / 웹 페이지가 있는지 확인

분류에서Dev

파일이 있는지 확인하는 NullPointerException 가져 오기

분류에서Dev

컴파일 타임에 변수가 선언되었는지 확인하는 방법이 있습니까?

분류에서Dev

Linux : 파일 설명자를 읽을 수 있는지 확인

분류에서Dev

파일에 한 줄에 3 단어가 있는지 확인 unix

분류에서Dev

경로가 프로그램 파일에 있는지 확인

분류에서Dev

생성 된 키가 이미 파일에 있는지 확인

분류에서Dev

파일에 단어가 있는지 확인

분류에서Dev

파일 설명자가 닫혀 있는지 확인

분류에서Dev

가변 템플릿의 인수 수를 확인하는 컴파일 시간

분류에서Dev

가변 템플릿의 인수 수를 확인하는 컴파일 시간

분류에서Dev

변수가 토요일인지 일요일인지 확인

분류에서Dev

파일이 이미지 파일인지 확실하게 확인할 수있는 방법은 무엇입니까?

분류에서Dev

변수가 있는지 확인

분류에서Dev

Jenkins 파이프 라인은 분기가 Bitbucket 풀 요청 용인지 확인

분류에서Dev

Azure 파이프 라인이있는 템플릿에 변수가 있는지 확인

분류에서Dev

폴더에 특정 확장자를 가진 파일이 있는지 확인

분류에서Dev

파일 이름에 와일드 카드가있는 파일이 있는지 확인

Related 관련 기사

  1. 1

    Python : .txt 파일에 변수가 있는지 확인

  2. 2

    Jenkins 선언적 파이프 라인에서 비밀번호 매개 변수가 비어 있는지 확인하는 방법은 무엇입니까?

  3. 3

    PhpStorm 파일 템플릿에서 변수가 비어 있는지 확인

  4. 4

    Jenkins에 파일 삭제 권한이 있는지 확인하는 방법

  5. 5

    세트에 일부 매개 변수가 있는지 확인

  6. 6

    Python 3.5-변수가 파일과 동일한 지 확인

  7. 7

    Bash + 홈 경로가있는 파일이 있는지 확인 ~

  8. 8

    접두사가있는 파일이 있는지 perl glob 확인

  9. 9

    파일에 확장자가 있는지 정규식 확인

  10. 10

    Python : globals ()에 변수가 있는지 확인하면 로컬 컨텍스트에서 보이지 않게됩니다.

  11. 11

    Python : globals ()에 변수가 있는지 확인하면 로컬 컨텍스트에서 보이지 않게됩니다.

  12. 12

    Python-파일 / 웹 페이지가 있는지 확인

  13. 13

    파일이 있는지 확인하는 NullPointerException 가져 오기

  14. 14

    컴파일 타임에 변수가 선언되었는지 확인하는 방법이 있습니까?

  15. 15

    Linux : 파일 설명자를 읽을 수 있는지 확인

  16. 16

    파일에 한 줄에 3 단어가 있는지 확인 unix

  17. 17

    경로가 프로그램 파일에 있는지 확인

  18. 18

    생성 된 키가 이미 파일에 있는지 확인

  19. 19

    파일에 단어가 있는지 확인

  20. 20

    파일 설명자가 닫혀 있는지 확인

  21. 21

    가변 템플릿의 인수 수를 확인하는 컴파일 시간

  22. 22

    가변 템플릿의 인수 수를 확인하는 컴파일 시간

  23. 23

    변수가 토요일인지 일요일인지 확인

  24. 24

    파일이 이미지 파일인지 확실하게 확인할 수있는 방법은 무엇입니까?

  25. 25

    변수가 있는지 확인

  26. 26

    Jenkins 파이프 라인은 분기가 Bitbucket 풀 요청 용인지 확인

  27. 27

    Azure 파이프 라인이있는 템플릿에 변수가 있는지 확인

  28. 28

    폴더에 특정 확장자를 가진 파일이 있는지 확인

  29. 29

    파일 이름에 와일드 카드가있는 파일이 있는지 확인

뜨겁다태그

보관