Trong Buildbot tôi cần có khả năng "nguồn" một môi trường trước khi thực hiện một bước biên dịch.Làm thế nào bạn có thể "nguồn" một môi trường bên trong một bước Buildbot?
Nếu tôi đang xây dựng các ứng dụng từ dòng lệnh sử dụng bash tôi sẽ phải làm:
. envrionment-set-up-script
build_command
Trong tập tin master.cfg build bot Tôi đã thử những điều sau đây:
factory.addStep(ShellCommand(command=["source","environment-set-up-script"])
factory.addStep(ShellCommand(command=[".","environment-set-up-script"]))
factory.addStep(Configure(command=["source","environment-set-up-script"]))
factory.addStep(Configure(command=[".","environment-set-up-script"]))
Tất cả trong đó không thành công, điều này là do lệnh không thể được tìm thấy, có ý nghĩa vì nó là một nội trang bash.
Ngoài ra tôi không nghĩ rằng đây là phương pháp chính xác vì môi trường sẽ không nhất thiết phải được sử dụng khi bước tiếp theo của nhà máy được gọi.
Trường hợp duy nhất có thể bị lỗi là nếu tập lệnh nguồn bắt đầu một số tiến trình mà a) không tồn tại trong vỏ chết, và b) được tham chiếu bởi môi trường. –
Đó là khá mạnh mẽ, so với một số các tùy chọn đơn giản được mô tả ở đây, nhưng chắc chắn mang lại cho bạn rất nhiều tính linh hoạt. Hãy xem xét khái quát hóa điều này và gửi nó như là một bản vá cho Buildbot? – djmitche