전공영역 공부 기록

jenkins pipeline sh 명령어 공백 제거

악분 2022. 4. 24. 23:20
반응형

jenkins pipeline에서 sh를 여러 줄을 실행할 때, 공백이 자동으로 삽입됩니다. 단순히, 명령어를 사용할 때는 문제가 안되지만 파일을 작성하는 쉘 스크립트가 있을 경우 문제가 발생합니다.

다행히 stripIndent()함수​를 사용하면 쉽게 공백을 제거할 수 있습니다.

pipeline {
    agent any
    ...    

    stages {        
        ...
        
        stage('change image:tag') {
            steps {
                dir("dev") {
                    sh """
                    cat <<EOF > kustomization.yaml
                    bases:
                    - ../base
                    namePrefix: dev-
                    
                    images:
                    - name: core-image
                      newName: ${docker_image_name}
                      newTag: ${tag}    
                    EOF
                    """.stripIndent()
                }
            }
        }
    }
}
반응형