Không thể thực hiện chính xác những gì bạn yêu cầu. Một quá trình không thể thay đổi các biến môi trường của một tiến trình khác. Các bước xây dựng trước và sau và thực tế chạy trong các quy trình khác nhau.
Nhưng bạn có thể tạo tập lệnh đặt các biến môi trường chung và chia sẻ tập lệnh đó giữa tất cả các bản dựng của bạn.
Đầu tiên sẽ gọi shell của bạn để thực hiện các lệnh trong kịch bản và sau đó gọi xcodebuild:
# Note the dot in the beginning of the next line. It is not a typo.
. set_environment.sh
xcodebuild myawesomeapp.xcodeproj
Các kịch bản có thể trông như thế này:
export VARIABLE1=value1
export VARIABLE2=value2
Làm thế nào chính xác công việc của bạn sẽ chia sẻ script phụ thuộc vào môi trường của bạn và trường hợp sử dụng. Bạn có thể
- nơi kịch bản ở một số vị trí nổi tiếng trên các máy chủ Jenkins hoặc
- nơi kịch bản trong phiên bản kiểm soát cây nguồn nếu tất cả công việc của bạn chia sẻ kho lưu trữ cùng hoặc
- nơi kịch bản trong một kho lưu trữ của riêng nó và tạo một bản dựng Jenkins lưu trữ kịch bản như một tạo phẩm xây dựng. Tất cả các công việc khác sau đó sẽ sử dụng plugin Copy Artifact để lấy một bản sao của tập lệnh từ các tạo phẩm của công việc kịch bản lệnh.
Có lẽ câu trả lời này có thể giúp - http://stackoverflow.com/a/32743908/67824. Nó không cho phép bạn định nghĩa các biến môi trường toàn cầu, nhưng nó cho phép bạn thay đổi các thiết lập xây dựng xcodeproj mà có lẽ là những gì bạn muốn các biến môi trường (ít nhất đó là trường hợp của tôi). –