ฉันพบงานสร้าง OpenStack บนไซต์ QA ของ Ubuntu แต่ฉันสับสนเล็กน้อยเกี่ยวกับขั้นตอนการสร้าง
นี่คือลิงค์สำหรับขั้นตอนการสร้าง: https://jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_stable/275/consoleText
จากบันทึกการสร้าง jenkins ฉันรู้ขั้นตอนวิธีที่ Ubuntu สร้างแพ็คเกจ Openstack:
- รับรหัส openstack จาก gitHub ใช้
git clone - สร้าง
openstack tar.gzไฟล์โดยใช้python setup.py sdist - ใช้
bzrเพื่อรับไฟล์ควบคุม debian ซึ่งเป็นการบำรุงรักษาตามมาตรฐาน - ใช้
dchคำสั่งเพื่อสร้างรุ่นบิลด์ใหม่ - ใช้
bzr builddeb -S -- -sa -us -ucเพื่อสร้างแพ็กเกจซอร์สและไฟล์ควบคุมที่เกี่ยวข้องเช่นdsc - ลงนามในแพคเกจ
- ใช้
mk-build-depsเพื่อติดตั้งการพึ่งพา - ใช้
sbuildเพื่อสร้างแพ็คเกจ deb จริง - อัปโหลดไปยัง repos ทดสอบ
คำถามของฉันคือ:
- ในขั้นตอนที่ 5 เราสามารถสร้างแพ็กเกจ deb ได้โดยไม่ต้อง
-Sแต่ทำไมเราใช้sbuildเพื่อสร้างมันขึ้นมา? นี่เป็นเพียงลายเซ็นต์เท่านั้น - ความแตกต่างระหว่าง
bzr builddebและsbuildคืออะไร ฉันพบสคริปต์สร้างที่เจนกินส์ใช้อยู่ที่นี่:
~openstack-ubuntu-testing/openstack-ubuntu-testingแต่เมื่อฉันพยายามเรียกใช้คำสั่งใด ๆ ภายใต้binฉันจะได้รับเสมอ:root@demo:~/openstack-ubuntu-testing/bin# ./build-package Traceback (most recent call last): File "./build-package", line 14, in <module> from openstack_ubuntu_testing.build.component_build import ComponentBuild File "/home/sysadmin/openstack-ubuntu-testing/bin/openstack_ubuntu_testing/build/component_build.py", line 11, in <module> from schroot.executor import SchrootExecutor ImportError: No module named schroot.executor
ฉันพยายามใช้ pip เพื่อติดตั้ง schroot แต่ดูเหมือนว่าพวกเขาไม่มีตัวเรียกใช้งานอยู่
กรุณาช่วย.