Giả sử tôi có một kịch bản xây dựng gradle và muốn viết một nhiệm vụ để sao chép kho lưu trữ git từ xa. Làm thế nào để làm điều đó?Gradle: làm thế nào để sao chép một repo git trong một nhiệm vụ?
Trả lời
sự sao chép có thể được thực hiện bằng cách sử dụng Gradle-git plugin. Để sử dụng plugin bạn nên tải nó đầu tiên:
buildscript {
repositories { mavenCentral() }
dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' }
}
Sau đó viết một nhiệm vụ như thế này:
import org.ajoberstar.gradle.git.tasks.*
task cloneGitRepo(type: GitClone) {
def destination = file("destination_folder")
uri = "your_git_repo_uri"
destinationPath = destination
bare = false
enabled = !destination.exists() //to clone only once
}
Plugin Gradle-git có số GitClone task cần trợ giúp. Tôi không thể giúp bạn về cách sử dụng nó vì tôi không biết Gradle.
Vâng, tôi đã tìm thấy nó. Bạn thấy đấy, tôi là một newbie để Gradle, vì vậy tôi cần một hướng dẫn chi tiết về cách sử dụng plugin để sao chép một repo. Tuy nhiên, hãy trả lời câu trả lời của bạn, cảm ơn bạn –
Có plugin Git - tài liệu tại đây: Gradle-git. Plugin có một phương pháp nhân bản: GitClone
Có lẽ cái gì đó dọc theo dòng:
GitClone clone = new GitClone();
clone.setUri("http://remote.repository/");
clone.setDestinationPath("//local/path");
clone.setBare(false);
clone.cloneRepo();
Các Gradle-git Plugin nói trên dường như đã chuyển từ việc cung cấp đơn giản "clone repo này vào thư mục đó" chức năng, vì vậy tôi đã viết một nhiệm vụ đơn giản mà chỉ này:
Cảm ơn bạn vì điều đó. Tôi sẽ gọi nó như thế nào bên trong một nhiệm vụ khác? – vsp
Cách nhiệm vụ-ish để làm điều này sẽ phụ thuộc vào * một nhiệm vụ khác thuộc kiểu GitCloneTask. Tuy nhiên, tôi không thấy lý do nào khiến bạn không thể tạo đối tượng GitCloneTask và gọi setUpRepo() nếu bạn muốn! Đặt thuộc tính như mong muốn và kích hoạt: https://github.com/palominolabs/gradle-git-clone-task/blob/master/src/main/groovy/com/palominolabs/gradle/task/git/clone/GitCloneTask. groovy – mpierce
với phiên bản mới hơn của gradle-git (0.7.0 trở lên), bạn sẽ tạo công việc như sau:
import org.ajoberstar.grgit.*
task clone << {
Grgit.clone(dir: file('build/repo'), uri: '[email protected]:user/repo.git')
}
là có cách nào để sao chép một chi nhánh tính năng cụ thể của repo? –
Cách sử dụng thao tác nhân bản trong plugin tùy chỉnh gradle? – sver
@ObaidMaroof, có thể là hoạt động thanh toán bằng cách sử dụng sẽ giúp [grgit.checkout (chi nhánh: 'existing-branch')] (http://ajoberstar.org/grgit/docs/groovydoc/org/ajoberstar/grgit/operation/CheckoutOp .html). – Abhijeet
- 1. Nhiệm vụ Grunt để sao chép/thanh toán một dự án git
- 2. Làm thế nào để thiết lập và sao chép một repo git từ xa trên Windows?
- 3. Làm thế nào để sao chép một chi nhánh Git địa phương để một repo từ xa
- 4. Làm thế nào để git sao chép một repo trong cửa sổ từ máy tính khác trong mạng LAN?
- 5. làm thế nào để loại trừ thư mục từ một nhiệm vụ Phing bản sao
- 6. Làm thế nào để sao chép chỉ một thư mục từ một git submodule?
- 7. Cách thông thường để sao chép tệp trong Gradle - sử dụng Sao chép tác vụ hoặc phương pháp sao chép?
- 8. Làm thế nào để thay thế đúng nhiệm vụ 'Chĩa' của Gradle?
- 9. Có an toàn để sử dụng một repo git sao chép không?
- 10. git plugin cho Jenkins không sao chép một repo từ máy địa phương. mã lỗi 128
- 11. Git: Làm thế nào để bỏ qua một tập tin từ một repo và thêm nó vào một repo khác?
- 12. Duy trì git repo bên trong một git repo
- 13. Whats cách tốt nhất để sao chép/sao chép dự án thành một mới với git?
- 14. Làm thế nào để sao chép từ một repo github và sau đó chạy NPM cài đặt trên con rối
- 15. Git, Không thể sao chép repo trên windows
- 16. Làm thế nào để bạn kết hợp hai repo git?
- 17. Sự khác nhau giữa nhân bản và sao chép một repo git là gì?
- 18. Làm thế nào để sao chép kho lưu trữ git-style git?
- 19. Kế thừa nhiệm vụ Gradle thừa kế
- 20. Git, Làm thế nào để thay đổi một trần để một repo chia sẻ?
- 21. Clone một repo git (sâu)
- 22. Làm thế nào để thực thi JavaExec nhiều lần trong một tác vụ bằng Gradle?
- 23. Make nhiệm vụ tùy chỉnh người trả boolean trong Gradle
- 24. Nhiều dự án trong một repo git?
- 25. làm thế nào để sao chép một git-cam cũ (và một số câu hỏi thêm về git)
- 26. Làm thế nào tôi có thể đảm bảo rằng nhiệm vụ processResources của một bản xây dựng gradle luôn chạy?
- 27. Gradle nhiệm vụ viết hg sửa đổi để nộp
- 28. Nhiệm vụ Gradle để gọi các nhiệm vụ khác theo thứ tự
- 29. làm thế nào để sao chép các phụ thuộc thư viện lọ trong gradle
- 30. Gradle: nhiệm vụ jar bản gốc 'clone' để tạo một nhiệm vụ mới cho một lọ bao gồm các phụ thuộc
có cách nào để sao chép chi nhánh tính năng cụ thể của repo không? –
Câu trả lời này có đúng không? Có vẻ như từ Gradle 2.7, trình cắm thêm Git không còn cần thiết nữa. Đúng không? https://github.com/gradle/gradle/pull/386 – haysclark
làm cách nào để bạn chỉ định nhánh sao chép? – revolutionary