9
การใช้ตัวแปร env ใน application.properties ของ Spring Boot
เรากำลังทำงานบนเว็บแอพSpring Bootและฐานข้อมูลที่เราใช้คือMySql ; การตั้งค่าที่เรามีคือเราทดสอบในพื้นที่ก่อน (หมายความว่าเราต้องติดตั้ง MySql บนพีซีของเรา); จากนั้นเราดันไปที่Bitbucket ; เจนกินส์จะตรวจจับการผลักดันใหม่ไปยัง Bitbucket โดยอัตโนมัติและทำการสร้างมันขึ้นมา (สำหรับเจนกินส์ mvn บิวด์เพื่อส่งต่อเรายังต้องติดตั้ง MySql บนเครื่องเสมือนที่รันเจนกินส์) ถ้า Jenkins สร้างรหัสผ่านเราจะส่งรหัสไปยังแอปพลิเคชันของเราบนOpenShift (โดยใช้ปลั๊กอินการปรับใช้ Openshift บน Jenkins) ปัญหาที่เรามีตามที่คุณอาจจะคิดได้ก็คือ: ในapplication.propertiesเราไม่สามารถยากรหัสข้อมูล MySql เนื่องจากโครงการของเราจะได้รับการทำงานใน 3 สถานที่ที่แตกต่างกัน ( ท้องถิ่น , เจนกินส์และOpenShift ) เราต้องทำให้แบบไดนามิกข้อมูลแหล่งข้อมูลในapplication.properties(เรารู้ว่ามีวิธีที่แตกต่างของการทำมัน แต่เรากำลังทำงานในการแก้ปัญหานี้ได้ในขณะนี้) spring.datasource.url = spring.datasource.username = spring.datasource.password = วิธีแก้ปัญหาที่เราเกิดขึ้นคือเราสร้างตัวแปรสภาพแวดล้อมของระบบในเครื่องและใน Jenkins vm (ตั้งชื่อพวกเขาในลักษณะเดียวกับ OpenShift ตั้งชื่อพวกเขา) และกำหนดค่าที่เหมาะสมตามลำดับ: …