Làm cách nào tôi có thể sử dụng biến travis-ci env làm thuộc tính của Gradle?Biến môi trường Travis CI với thuộc tính Gradle
tôi tại địa phương có gradle.properties tôi dưới con đường gradle có:
sonatypeRepo = abcd
nào được sử dụng trong build.gradle tôi:
uploadArchives {
//more
repository(url: sonatypeRepo) {
// more
}
//more
}
Dĩ nhiên tại địa phương nó hoạt động. Trong travis Tôi đã thêm các biến dưới các thiết lập vì vậy tôi thấy việc xây dựng nhật ký:
Setting environment variables from repository settings
$ export sonatypeRepo=[secure]
Và nó không thành công như:
FAILURE: Build failed with an exception.
* Where:
Build file '/home/travis/build/Diolor/Swipecards/library/build.gradle' line: 49
* What went wrong:
A problem occurred evaluating project ':library'.
> No such property: sonatypeRepo for class: org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer
Làm thế nào tôi có thể sử dụng biến env của Travis là một Grable tài sản nhưng cũng có bản dựng cục bộ không?
là biến env Travis' thiết lập như biến env? Tôi sẽ thử 'def repo = sonatypeRepo?: System.getenv ('sonatypeRepo')'. Phần đầu tiên nên làm việc tại địa phương, thứ hai trên Travis. – Opal
@Opal travis 'bash xuất khẩu nó, vì vậy nó sẽ có sẵn. Tôi đã thử 'kho lưu trữ (url: sonatypeRepo?:" $ System.env.sonatypeRepo ") {}' mà không thành công, sẽ thử nhiều hơn. – Diolor
Câu hỏi đặt ra là nếu biến được thiết lập bởi Travis có thể đọc được thông qua 'System.env'. Trên Jenkins nó là. Nó cũng có thể là một vấn đề khác. Bạn cần phải kiểm tra Travis những gì chính xác 'sonatypeRepo' tài sản trả về. Nếu nó hiện diện trong 'gradle.properties' và nó trống rỗng, nó có thể vượt qua, bởi vì nó hiện diện. – Opal