# Gradle ქეში {#gradle-cache}

Tuist უზრუნველყოფს Gradle პლაგინს, რომელიც ინტეგრირდება [Gradle-ის ჩაშენებულ ბილდ ქეშთან](https://docs.gradle.org/current/userguide/build_cache.html) ბილდის არტეფაქტების დისტანციურად გასაზიარებლად. როდესაც ამოცანის შედეგები უკვე დაქეშილია, Gradle ტოვებს შესრულებას და იღებს შედეგს Tuist-ის დისტანციური ქეშიდან, რაც ზოგავს ბილდის დროს თქვენს გუნდსა და CI გარემოებში.

მას შემდეგ, რაც <.localized_link href="/guides/install-gradle-plugin">Tuist Gradle პლაგინი</.localized_link> დაინსტალირდება, ასევე უნდა ჩართოთ Gradle-ის ბილდ ქეში თქვენს `gradle.properties` ფაილში:

```properties
org.gradle.caching=true
```

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

## ქეშის ატვირთვის პოლიტიკა {#cache-upload-policy}

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

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

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

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

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

## უწყვეტი ინტეგრაცია {#continuous-integration}

CI გარემოებისთვის, გაიარეთ ავთენტიკაცია <.localized_link href="/guides/server/authentication#continuous-integration">ავთენტიკაციის სახელმძღვანელოში</.localized_link> მოცემული ერთ-ერთი მეთოდის გამოყენებით. პროვაიდერზე სპეციფიკური CI მაგალითებისთვის იხილეთ <.localized_link href="/guides/integrations/continuous-integration">უწყვეტი ინტეგრაციის სახელმძღვანელო</.localized_link>.

### ლოკალური ბილდ ქეშის გათიშვა {#disabling-the-local-build-cache}

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

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

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

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

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

## კონფიგურაციის ცნობარი {#configuration-reference}

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

| ოფცია | ტიპი | ნაგულისხმევი | აღწერა |
| --- | --- | --- | --- |
| `enabled` | `Boolean` | `true` | არის თუ არა ჩართული დისტანციური ბილდ ქეში. |
| `push` | `Boolean` | `true` | ატვირთოს თუ არა ამოცანების შედეგები დისტანციურ ქეშში. |
| `allowInsecureProtocol` | `Boolean` | `false` | დაუშვას თუ არა არაუსაფრთხო HTTP კავშირები. |
