კონტენტზე გადასვლა

Gradle ქეში

Tuist უზრუნველყოფს Gradle პლაგინს, რომელიც ინტეგრირდება Gradle-ის ჩაშენებულ ბილდ ქეშთან ბილდის არტეფაქტების დისტანციურად გასაზიარებლად. როდესაც ამოცანის შედეგები უკვე დაქეშილია, Gradle ტოვებს შესრულებას და იღებს შედეგს Tuist-ის დისტანციური ქეშიდან, რაც ზოგავს ბილდის დროს თქვენს გუნდსა და CI გარემოებში.

მას შემდეგ, რაც Tuist Gradle პლაგინი დაინსტალირდება, ასევე უნდა ჩართოთ Gradle-ის ბილდ ქეში თქვენს gradle.properties ფაილში:

plaintext
org.gradle.caching=true

ამის გარეშე, Gradle არ ააქტიურებს თავის ბილდ ქეშის სისტემას — მაშინაც კი, თუ დისტანციური ქეში კონფიგურირებულია — და ყველა ამოცანა შესრულდება ქეშის გამოყენების ან მისი შევსების გარეშე. ჩართვის შემდეგ, Gradle გამოიყენებს Tuist-ს როგორც დისტანციურ ბილდ ქეშს, ჩამოტვირთავს დაქეშილ ამოცანების შედეგებს ქეშის მოხვედრისას და ატვირთავს მათ ამოცანის შესრულების შემდეგ.

ქეშის ატვირთვის პოლიტიკა#

ნაგულისხმევად, პლაგინი ერთდროულად ჩამოტვირთავს და ატვირთავს არტეფაქტებს დისტანციურ ქეშში. ატვირთვების კონტროლი შესაძლებელია push ოფციით buildCache ბლოკში:

kotlin
tuist {
buildCache {
push = false // read-only mode
}
}

ჩვეულებრივი მიდგომაა არტეფაქტების ატვირთვა მხოლოდ CI-დან, სადაც ბილდები აღწარმოებადია, ხოლო ლოკალური გარემოების მხოლოდ წაკითხვის რეჟიმში შენარჩუნება:

kotlin
tuist {
buildCache {
push = System.getenv("CI") != null
}
}

ამ კონფიგურაციით, ლოკალური ბილდები სარგებლობენ დაქეშილი არტეფაქტებით ატვირთვის გარეშე, ხოლო CI ბილდები ავსებენ ქეშს გუნდის დანარჩენი წევრებისთვის.

უწყვეტი ინტეგრაცია#

CI გარემოებისთვის, გაიარეთ ავთენტიკაცია ავთენტიკაციის სახელმძღვანელოში მოცემული ერთ-ერთი მეთოდის გამოყენებით. პროვაიდერზე სპეციფიკური CI მაგალითებისთვის იხილეთ უწყვეტი ინტეგრაციის სახელმძღვანელო.

ლოკალური ბილდ ქეშის გათიშვა#

Gradle ინახავს როგორც ლოკალურ, ისე დისტანციურ ბილდ ქეშს. ლოკალური ბილდ ქეში ინახავს ამოცანების შედეგებს დისკზე ~/.gradle/caches/build-cache-1 მისამართზე.

როდესაც Tuist კონფიგურირებულია როგორც დისტანციური ბილდ ქეში, რეკომენდებულია ლოკალური ბილდ ქეშის გათიშვა CI-ზე. ეს თავიდან აიცილებს ზედმეტი არტეფაქტების შენახვას CI გამშვებებზე და უზრუნველყოფს, რომ ბილდები ყოველთვის ავსებდნენ დისტანციურ ქეშს ახალი ჩანაწერებით გუნდის დანარჩენი წევრებისთვის.

გათიშეთ Gradle-ის ლოკალური ბილდ ქეში CI-ზე თქვენს settings.gradle.kts-ში:

kotlin
buildCache {
local {
isEnabled = System.getenv("CI") == null
}
}

ეს ინარჩუნებს ლოკალურ ბილდ ქეშს ხელმისაწვდომს ლოკალური განვითარებისთვის, ხოლო თიშავს მას CI-ზე, სადაც Tuist-ის დისტანციური ქეში უზრუნველყოფს არტეფაქტების გაზიარებას.

კონფიგურაციის ცნობარი#

buildCache ბლოკი მხარდაჭერილია:

ოფციატიპინაგულისხმევიაღწერა
enabledBooleantrueარის თუ არა ჩართული დისტანციური ბილდ ქეში.
pushBooleantrueატვირთოს თუ არა ამოცანების შედეგები დისტანციურ ქეშში.
allowInsecureProtocolBooleanfalseდაუშვას თუ არა არაუსაფრთხო HTTP კავშირები.