Gradle ქეში
Tuist უზრუნველყოფს Gradle პლაგინს, რომელიც ინტეგრირდება Gradle-ის ჩაშენებულ ბილდ ქეშთან ბილდის არტეფაქტების დისტანციურად გასაზიარებლად. როდესაც ამოცანის შედეგები უკვე დაქეშილია, Gradle ტოვებს შესრულებას და იღებს შედეგს Tuist-ის დისტანციური ქეშიდან, რაც ზოგავს ბილდის დროს თქვენს გუნდსა და CI გარემოებში.
მას შემდეგ, რაც Tuist Gradle პლაგინი დაინსტალირდება, ასევე უნდა ჩართოთ Gradle-ის ბილდ ქეში თქვენს gradle.properties ფაილში:
org.gradle.caching=true
ამის გარეშე, Gradle არ ააქტიურებს თავის ბილდ ქეშის სისტემას — მაშინაც კი, თუ დისტანციური ქეში კონფიგურირებულია — და ყველა ამოცანა შესრულდება ქეშის გამოყენების ან მისი შევსების გარეშე. ჩართვის შემდეგ, Gradle გამოიყენებს Tuist-ს როგორც დისტანციურ ბილდ ქეშს, ჩამოტვირთავს დაქეშილ ამოცანების შედეგებს ქეშის მოხვედრისას და ატვირთავს მათ ამოცანის შესრულების შემდეგ.
ქეშის ატვირთვის პოლიტიკა#
ნაგულისხმევად, პლაგინი ერთდროულად ჩამოტვირთავს და ატვირთავს არტეფაქტებს დისტანციურ ქეშში. ატვირთვების კონტროლი შესაძლებელია push ოფციით buildCache ბლოკში:
tuist {
buildCache {
push = false // read-only mode
}
}
ჩვეულებრივი მიდგომაა არტეფაქტების ატვირთვა მხოლოდ CI-დან, სადაც ბილდები აღწარმოებადია, ხოლო ლოკალური გარემოების მხოლოდ წაკითხვის რეჟიმში შენარჩუნება:
tuist {
buildCache {
push = System.getenv("CI") != null
}
}
ამ კონფიგურაციით, ლოკალური ბილდები სარგებლობენ დაქეშილი არტეფაქტებით ატვირთვის გარეშე, ხოლო CI ბილდები ავსებენ ქეშს გუნდის დანარჩენი წევრებისთვის.
უწყვეტი ინტეგრაცია#
CI გარემოებისთვის, გაიარეთ ავთენტიკაცია ავთენტიკაციის სახელმძღვანელოში მოცემული ერთ-ერთი მეთოდის გამოყენებით. პროვაიდერზე სპეციფიკური CI მაგალითებისთვის იხილეთ უწყვეტი ინტეგრაციის სახელმძღვანელო.
ლოკალური ბილდ ქეშის გათიშვა#
Gradle ინახავს როგორც ლოკალურ, ისე დისტანციურ ბილდ ქეშს. ლოკალური ბილდ ქეში ინახავს ამოცანების შედეგებს დისკზე ~/.gradle/caches/build-cache-1 მისამართზე.
როდესაც Tuist კონფიგურირებულია როგორც დისტანციური ბილდ ქეში, რეკომენდებულია ლოკალური ბილდ ქეშის გათიშვა CI-ზე. ეს თავიდან აიცილებს ზედმეტი არტეფაქტების შენახვას CI გამშვებებზე და უზრუნველყოფს, რომ ბილდები ყოველთვის ავსებდნენ დისტანციურ ქეშს ახალი ჩანაწერებით გუნდის დანარჩენი წევრებისთვის.
გათიშეთ Gradle-ის ლოკალური ბილდ ქეში CI-ზე თქვენს settings.gradle.kts-ში:
buildCache {
local {
isEnabled = System.getenv("CI") == null
}
}
ეს ინარჩუნებს ლოკალურ ბილდ ქეშს ხელმისაწვდომს ლოკალური განვითარებისთვის, ხოლო თიშავს მას CI-ზე, სადაც Tuist-ის დისტანციური ქეში უზრუნველყოფს არტეფაქტების გაზიარებას.
კონფიგურაციის ცნობარი#
buildCache ბლოკი მხარდაჭერილია:
| ოფცია | ტიპი | ნაგულისხმევი | აღწერა |
|---|---|---|---|
enabled | Boolean | true | არის თუ არა ჩართული დისტანციური ბილდ ქეში. |
push | Boolean | true | ატვირთოს თუ არა ამოცანების შედეგები დისტანციურ ქეშში. |
allowInsecureProtocol | Boolean | false | დაუშვას თუ არა არაუსაფრთხო HTTP კავშირები. |