이 스크립트 변수가 계속 "null"을 표시하는 이유는 무엇입니까?

이 스크립트 변수가 계속 "null"을 표시하는 이유는 무엇입니까?

다음 스크립트가 있습니다.

def String Service_version = sh "cd ./projects/onehome && pwd && cat package.json | grep version"
             echo "Service_Version_update: $Service_version"
             echo "My_Version is : ${Service_version}"

출력은 다음과 같습니다

cd ./projects/onehome
13:47:43  + pwd
13:47:43  /home/jenkins/agent/workspace/_apps_onehome_feature-AOTF-11540/projects/onehome
13:47:43  + cat package.json
13:47:43  + grep version
13:47:43  "version": "1.0.400",
13:47:43  [Pipeline] echo
13:47:43  Service_Version_update: null
13:47:43  [Pipeline] echo
13:47:43  My_Version is : null

${Service_version}로 인쇄되나요 null?

답변1

정리해보자:

## Ensure were in projects directory
cd projects/onehome/

## Switch to jenkins directory
$jenkins = pwd
$jenkins_output = "The current Jenkins Directory is: $jenkins"
echo $jenkins_output

## Create version Number
versionNumber = grep version package.json 
$serviceVersion = "The Current Service Version is: $versionNumber"
echo $serviceVersion

업데이트가 필요한지 비교 myVersion하려고 하시는 것 같습니다 . serviceVersion현재 코드로 수행하려는 작업을 내가 어떻게 해석하는지에 따라 귀하의 서비스 버전은 항상 내 버전과 동일합니다. myVersion을 확인하기 위해 다른 방법을 사용할 수도 있습니다.

관련 정보