มีวิธีใดที่ตั้งใจจะจัดเก็บข้อมูลที่ไม่ละเอียดอ่อนใน Jenkins ที่มีขอบเขตเป็นการกำหนดค่าบิลด์เพื่อให้สามารถอ่านได้จากสคริปต์ไปป์ไลน์
เรากำลังย้ายไปยังเซิร์ฟเวอร์ Octopus Deploy ใหม่ และไฟล์ Jenkins ของเรามีลักษณะดังนี้:
ไปป์ไลน์ {
สิ่งแวดล้อม {
OCTOPUS_CLI_SERVER = "https://octopus.example.com"
OCTOPUS_CLI_API_KEY = ข้อมูลประจำตัว ("Octopus_Deploy_ApiKey")
}
// ...
}
ฉันสามารถอัปเดตคีย์ API จากส่วนกลางผ่าน Jenkins credential manager แต่ฉันจะต้องแก้ไขและยอมรับการเปลี่ยนแปลง OCTOPUS_CLI_SERVER
ในทุกสาขา เนื่องจาก URL เป็นแบบฮาร์ดโค้ด ตราบใดที่ฉันกำลังเปลี่ยนแปลงสิ่งนี้ ฉันสงสัยว่ามีวิธีที่ดีกว่าการเข้ารหัสค่าใหม่แบบตายตัวหรือไม่
ฉัน สามารถ เก็บ URL ของเซิร์ฟเวอร์ Octopus ไว้ในตัวจัดการข้อมูลประจำตัวและเข้าถึงด้วยวิธีเดียวกัน แต่ค่าของมันจะถูกแก้ไขจากบันทึก และนั่นอาจสร้างความรำคาญได้ ตามหลักการแล้ว สิ่งที่ฉันกำลังมองหาอาจมีมูลค่าที่แตกต่างกันสำหรับหลายโครงการ ตัวอย่างเช่น ทั้งโครงการ A และโครงการ B อาจอ่านตัวแปรชื่อ "PUBLIC_DOMAIN" แต่ตัวแปรหนึ่งจะรับเป็น "a.example.com" และอีกตัวแปรหนึ่งจะรับเป็น "b.example.com"
ฉันกำลังพูดถึง Octopus Deploy เพราะมันเป็นการเปลี่ยนแปลงที่เรากำลังทำอยู่ แต่คำถามนี้อาจนำไปใช้กับข้อมูลใดๆ ที่เข้าถึงได้จากไปป์ไลน์ของ Jenkins ซึ่งไม่เฉพาะเจาะจงกับ Octopus Deploy