ฉันต้องการที่จะใช้เทรวิส-CIหนึ่งของฉันโครงการ
โปรเจ็กต์นี้เป็น API Wrapper ดังนั้นการทดสอบจำนวนมากจึงอาศัยการใช้คีย์ API ลับ เพื่อทดสอบในพื้นที่ฉันเพียงแค่เก็บไว้เป็นตัวแปรสภาพแวดล้อม วิธีที่ปลอดภัยในการใช้คีย์เหล่านี้กับ Travis คืออะไร?
ฉันต้องการที่จะใช้เทรวิส-CIหนึ่งของฉันโครงการ
โปรเจ็กต์นี้เป็น API Wrapper ดังนั้นการทดสอบจำนวนมากจึงอาศัยการใช้คีย์ API ลับ เพื่อทดสอบในพื้นที่ฉันเพียงแค่เก็บไว้เป็นตัวแปรสภาพแวดล้อม วิธีที่ปลอดภัยในการใช้คีย์เหล่านี้กับ Travis คืออะไร?
คำตอบ:
Travis มีคุณสมบัติในการเข้ารหัสตัวแปรสภาพแวดล้อม ( "การเข้ารหัสตัวแปรสภาพแวดล้อม" ) สามารถใช้เพื่อป้องกันคีย์ API ลับของคุณ ฉันใช้สิ่งนี้สำเร็จแล้วสำหรับคีย์ Heroku API ของฉัน
สิ่งที่คุณต้องทำคือติดตั้ง travis gem เข้ารหัสสตริงที่คุณต้องการและเพิ่มสตริงที่เข้ารหัสใน.travis.yml
ไฟล์. การเข้ารหัสใช้ได้กับที่เก็บเดียวเท่านั้น travis
คำสั่งที่ได้รับกุญแจสาธารณะของคุณสำหรับ repo ของคุณแล้วสามารถถอดรหัสสตริงในระหว่างการสร้าง
gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
สิ่งนี้ให้ผลลัพธ์ต่อไปนี้:
Please add the following to your .travis.yml file:
secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="
travis encrypt [args..] [options]
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
ใส่ตัวเลือกก่อนและข้อมูลที่จะเข้ารหัสล่าสุดจะแสดงคำเตือน
--add env.global
สำหรับtravis
คำสั่งมันจะแก้ไข. travis.yml ของคุณโดยอัตโนมัติ
ตามนี้ในเอกสารของ travis ci ได้กล่าวไว้ว่า:
หากคุณติดตั้งทั้งไคลเอนต์บรรทัดคำสั่ง Heroku และ Travis CI คุณจะได้รับคีย์เข้ารหัสและเพิ่มลงใน. travis.yml ของคุณโดยรันคำสั่งต่อไปนี้จากไดเร็กทอรีโปรเจ็กต์ของคุณ:
travis encrypt $(heroku auth:token) --add deploy.api_key
อ้างถึงบทช่วยสอนต่อไปนี้เพื่อติดตั้งไคลเอนต์ heroku ตามระบบปฏิบัติการของคุณ
คุณยังสามารถกำหนดตัวแปรลับในการตั้งค่าที่เก็บ :
ตัวแปรที่กำหนดไว้ในการตั้งค่าที่เก็บจะเหมือนกันสำหรับบิลด์ทั้งหมดและเมื่อคุณรีสตาร์ทบิลด์เก่าจะใช้ค่าล่าสุด ตัวแปรเหล่านี้ไม่สามารถใช้ได้โดยอัตโนมัติสำหรับส้อม
กำหนดตัวแปรใน Repository Settings ที่:
- แตกต่างกันไปตามที่เก็บ
- มีข้อมูลที่ละเอียดอ่อนเช่นข้อมูลรับรองของบุคคลที่สาม
ในการกำหนดตัวแปรในการตั้งค่าที่เก็บโปรดตรวจสอบว่าคุณได้ลงชื่อเข้าใช้แล้วไปที่ที่เก็บที่มีปัญหาเลือก "การตั้งค่า" จากเมนูฟันเฟืองแล้วคลิกที่ "เพิ่มตัวแปรใหม่" ในส่วน "ตัวแปรสภาพแวดล้อม"
ใช้ชุดคีย์ API อื่นและทำในลักษณะเดียวกัน กล่อง travis ของคุณได้รับการตั้งค่าสำหรับการรันบิวด์ของคุณจากนั้นฉีกขาดอีกครั้งหลังจากที่สร้างเสร็จ คุณมีสิทธิ์เข้าถึงรูทไปยังกล่องของคุณในระหว่างการสร้างดังนั้นคุณสามารถทำอะไรก็ได้ที่คุณต้องการ