Trong một Makefile, một công thức deploy
cần một biến môi trường ENV
được thiết lập để thực hiện đúng bản thân, trong khi những người khác không quan tâm, ví dụ:biến Makefile là điều kiện tiên quyết
ENV =
.PHONY: deploy hello
deploy:
rsync . $(ENV).example.com:/var/www/myapp/
hello:
echo "I don't care about ENV, just saying hello!"
Làm thế nào tôi có thể chắc chắn rằng biến này được đặt, ví dụ: có cách nào để khai báo biến makefile này là điều kiện tiên quyết của công thức triển khai, như:
deploy: make-sure-ENV-variable-is-set
?
Cảm ơn bạn.
Ý của bạn là gì, "hãy đảm bảo biến này được đặt"? Bạn có nghĩa là xác minh hoặc đảm bảo? Nếu nó không được thiết lập trước đây, nên 'make' đặt nó, hoặc đưa ra một cảnh báo, hoặc tạo ra một lỗi nghiêm trọng? – Beta
Biến này phải được chỉ định bởi chính người dùng - vì anh ta là người duy nhất biết môi trường của mình (dev, prod ...) - ví dụ bằng cách gọi 'make ENV = dev' nhưng nếu anh ta quên' ENV = dev Công thức ',' deploy' sẽ thất bại ... – abernier