2012-11-14 26 views
12

Tôi đang thực hiện tác vụ triển khai Maven từ tập lệnh bash tuy nhiên ngay cả khi tác vụ Maven không thực hiện được tập lệnh sẽ tiếp tục và hoàn tất mà không có lỗi.Thực thi tác vụ Maven từ tập lệnh shell và nhận mã lỗi

Tôi đã thử cờ -e nhưng điều đó làm cho triển khai thất bại. Tôi cũng đã thử những điều sau (mã giả)

result_code= mvn deploy 
if [$result_code -gt 0];then 
exit 1 

Bất kỳ đề xuất nào tôi có thể xác định nếu triển khai thành công?

Trả lời

26

result_code=mvn deploy không phải là cách để lấy trạng thái trả lại

bạn có thể thử ví dụ: :

#!/bin/bash 
mvn deploy 
STATUS=$? 
if [ $STATUS -eq 0 ]; then 
echo "Deployment Successful" 
else 
echo "Deployment Failed" 
fi 
0

Ngoài ra nếu có ai sử dụng Windows 10, đây là ví dụ mà tôi sử dụng:

mvn deploy 
if not %ERROR_CODE%==0 goto error 

echo SUCCESS 
goto end 

:error 
echo FAILED 

:end 
0

Chỉ cần một lý do nào khác có thể nhiệm vụ mvn của một người có thể trở về 0 bất chấp thất bại: cẩn thận về đường ống đầu ra của maven cho các chương trình khác. Ví dụ: tôi đang sử dụng grcat (trong đó grc được xây dựng trên đầu trang), sẽ luôn trả lại mã thoát 0;

\mvn compile | grcat ~/conf.mvn 

Tôi không chắc chắn cách giữ mã hóa màu sắc đẹp mắt của đầu ra. Có color_maven.sh trên mạng nhưng có vấn đề khác.

Các vấn đề liên quan