Nhầm lẫn về việc xây dựng các gói OpenStack?


19

Tôi đã tìm thấy tác vụ xây dựng OpenStack trên trang web Ubuntu QA, nhưng tôi hơi bối rối về các bước xây dựng.

Đây là liên kết cho các bước xây dựng: https://jenkins.qa.ubfox.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_urdy/275/consoleText

Từ nhật ký xây dựng của jenkins, tôi biết các bước về cách Ubuntu xây dựng các gói Openstack:

  1. lấy mã openstack từ github, sử dụng git clone
  2. xây dựng openstack tar.gztập tin bằng cách sử dụngpython setup.py sdist
  3. sử dụng bzrđể có được các tập tin kiểm soát debian được bảo trì bởi canonical
  4. sử dụng dchlệnh để tạo bản phát hành bản dựng mới và cam kết nó với cục bộ
  5. sử dụng bzr builddeb -S -- -sa -us -ucđể tạo gói nguồn và tệp kiểm soát liên quan, chẳng hạn nhưdsc
  6. ký gói
  7. sử dụng mk-build-depsđể cài đặt phụ thuộc
  8. sử dụng sbuildđể tạo các gói deb thật
  9. tải lên để kiểm tra repos

Câu hỏi của tôi là:

  1. Trong bước 5, chúng ta đã có thể tạo các gói deb mà không cần -S, nhưng tại sao cuối cùng chúng ta lại sử dụng sbuildđể tạo ra nó? Đây có phải chỉ cho chữ ký?
  2. Sự khác biệt giữa bzr builddebvà là sbuildgì?
  3. Tôi đã tìm thấy các tập lệnh xây dựng mà jenkins sử dụng được đặt ở đây: ~openstack-ubuntu-testing/openstack-ubuntu-testingnhưng khi tôi cố gắng chạy bất kỳ lệnh nào bên dưới bin, tôi luôn nhận được:

    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
    

Tôi đã cố gắng sử dụng pip để cài đặt schroot, nhưng có vẻ như họ không có người thực thi trong đó.

Hãy giúp tôi.


1
Tôi đã mở liên kết bạn đã cung cấp và nhận được văn bản lỗi này: HTTP ERROR 404 Sự cố khi truy cập / view / Openstack_Testing / view / Grizzly / job / precision_grizzly_keystone_ sóng / 275 / consoleText. Lý do: Không tìm thấy Được cung cấp bởi Cầu tàu: //
Cristiana Nicolae

1
một liên kết tương tự như anh ấy đã cung cấp là jenkins.qa.ubfox.com/view/Openstack_Testing/view/Grizzly/job/ mẹo
ashubfox

Câu trả lời:


1

sbuildxây dựng một gói trong một môi trường bị cô lập bằng cách sử dụng schroot. Trong môi trường này, chỉ có các phụ thuộc xây dựng được khai báo bởi gói nguồn được cài đặt và không có gì khác. Điều này giúp đảm bảo rằng bản dựng không bị ảnh hưởng bởi nhà phát triển hoặc môi trường CI mà nó được chạy từ đó. Ví dụ, nếu không có sbuild, sự hiện diện của gói trong môi trường CI có thể khiến cho việc xây dựng thành công khi thực tế nó là một phụ thuộc xây dựng không được khai báo và do đó thất bại ở mọi nơi khác. Vì lý do tái sản xuất và ổn định, tốt hơn là sử dụng sbuild.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.