Score:0

ส่งผ่านค่าตัวแปรจากขั้นตอนการสร้างหนึ่งไปยังอีกขั้นตอนหนึ่งในงานเจนกินส์

ธง br

ฉันต้องการส่งค่าตัวแปรจากขั้นตอนการสร้างหนึ่งขั้นตอนซึ่งมาจาก 'execute shell' ถึง 'ส่งไฟล์หรือรันคำสั่งผ่าน SSH" สคริปต์ของฉันใน ดำเนินการเชลล์* เป็น:

ถ้า [ "$var" == "1"]; แล้ว
แพ็คเกจ = "แพ็คเกจใหม่"
ไฟ
ถ้า [ "$var" == "2"]; แล้ว
แพ็คเกจ = "แพ็คเกจเก่า"
ไฟ
Given_order=${แพ็คเกจ}

ส่งไฟล์หรือรันคำสั่งผ่าน SSH เสียงสะท้อน "$Given_order" แต่ค่าไม่ได้ถูกส่งผ่านจากขั้นตอนการสร้างเชลล์ที่ดำเนินการไปยังขั้นตอนอื่น กรุณาแนะนำ ขอบคุณ

jp flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [ไฟล์ Jenkins Pipeline - การส่งตัวแปร Jenkinsfile ไปยังคำสั่งเพิ่มเติม](https://serverfault.com/questions/884764/jenkins-pipeline-file-passing-jenkinsfile-variables-into-further-commands)
Score:0
ธง jp

ฉันตอบคำถามนี้แล้วที่นี่: https://serverfault.com/a/884798/213070. โดยทั่วไป ให้ประกาศตัวแปรในโค้ดไปป์ไลน์ของคุณนอกขอบเขตขั้นตอนการสร้างของคุณ:

def jobBaseName

ระยะ ('สร้างชื่อ Img') {
  jobBaseName = sh(
    สคริปต์: "echo ${BUILD_TAG} | awk '{print tolower($0)}' | sed 's/jenkins-//'",
    returnStdout: จริง
  )
}

ขั้นตอน ('สร้างคอนเทนเนอร์เป้าหมาย') {
  sh "ssh -i ~/ssh_keys/key.key user@somehost 'cd /dockerdata/build/${BUILD_TAG} && docker build -t localrepo/${jobBaseName}:${BUILD_NUMBER} .'"
}
br flag
@jayhendren- แล้วนี่ฉันไม่ได้ใช้รหัสไปป์ไลน์ใด ๆ ที่นี่ ฉันแค่ใช้ขั้นตอนการสร้างเจนกินส์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา