# Bazel-ის ქეში {#bazel-cache}

Tuist ხელმისაწვდომს ხდის [Remote Execution API](https://github.com/bazelbuild/remote-apis)-ის ქეშს, რომელსაც Bazel უკავშირდება როგორც დისტანციურ ქეშს. როდესაც მოქმედების შედეგები უკვე არის ქეშში, Bazel ტოვებს ამ მოქმედებას და იღებს შედეგს Tuist-ის ქეშიდან, რაც ზოგავს კომპილაციის დროს თქვენს გუნდსა და CI გარემოებში.

## მოწყობა {#setup}

Bazel-ის სამუშაო სივრცის ფესვიდან გაუშვით:

```bash
tuist bazel setup
```

ეს წერს `.bazelrc.tuist` ფაილს თქვენი `.bazelrc` გვერდით, მიბმულს Tuist-ის ყველაზე ახლოს მდებარე ქეშის რეგიონთან და ავთენტიფიცირებულია სამუშაო სივრცისთვის განკუთვნილი საიდენტო დახმარებით. ის ასევე ამატებს `try-import` ხაზს თქვენი რეპოზიტორიის `.bazelrc`-ში:

```text
try-import %workspace%/.bazelrc.tuist
```

გადაეცით `--no-add-bazelrc-import`, თუ იმპორტის მართვა თავად გსურთ.

დაამატეთ `.bazelrc.tuist` თქვენს `.gitignore`-ში და გაუშვით მოწყობა თითოეულ მანქანაზე, ნაცვლად მისი კომიტის გაკეთებისა. გენერირებული ფაილი მიუთითებს აბსოლუტურ გზას საიდენტო დახმარებაზე მიმდინარე მომხმარებლის Tuist კონფიგურაციის საქაღალდეში და ქეშის რეგიონზე, რომელიც ყველაზე ახლოსაა იმ მანქანასთან, რომელმაც ის შექმნა, ამიტომ არცერთი მნიშვნელობა არ გადაეცემა თანამშრომელს ან უწყვეტი ინტეგრაციის გამშვებს. ჩააკომიტეთ `try-import` ხაზი `.bazelrc`-ში, რომელიც ერთნაირია ყველა მანქანაზე.

მოწყობა არ ეხება არსებულ `.bazelrc`-ს, როდესაც ვერ პოულობს Bazel-ის სამუშაო სივრცის მარკერს, როდესაც ფაილი სიმბოლური ბმულია, ან როდესაც ის უკვე აკონფიგურირებს დისტანციურ ქეშს ან Build Event Service-ს. ამ გზით, მისი ხელახლა გაშვება იდემპოტენტურია.

გაუშვით ჩვეულებრივი Bazel-ის ბრძანება ინტეგრაციის დასადასტურებლად:

```bash
bazel build //...
```

ქეშის აქტივობა შემდეგ ჩნდება პროექტის **Bazel Cache** გვერდზე Tuist-ის დაფაზე, რომელიც აჩვენებს ქეშის გადაცემას, ჩამოტვირთვებსა და ატვირთვებს, კითხვისა და ჩაწერის დაყოვნებას, გამტარუნარიანობას და მოქმედება-ქეშის მოხვედრის მაჩვენებელს. პროექტის **Overview** შეიცავს იმავე მოქმედება-ქეშის მოხვედრის მაჩვენებლის შეჯამებას ბილდის ხანგრძლივობასთან ერთად.

იმის სანახავად, თუ როგორ გამოიყენა ერთმა ბრძანებამ ქეში, გახსენით ის **Invocations**-დან. გამოძახების გვერდი ყოფს მოქმედება-ქეშის ძიებებს შინაარსის ობიექტების მოთხოვნებისგან, რათა განასხვავოთ ცივი მოქმედება-ქეში ნელი არტეფაქტის ჩამოტვირთვისგან.

## ბილდის ინსაიტები {#build-insights}

ნაგულისხმევად, `tuist bazel setup` ასევე აკონფიგურირებს Bazel-ის Build Event Service-ს, რათა დასრულებული ბრძანებები გამოჩნდეს **Invocations** დაფაზე. იხილეთ <.localized_link href="/guides/features/build-insights/bazel">Bazel build insights</.localized_link> იმის შესახებ, თუ რას აჩვენებს დაფა და როგორ მიამაგროთ მორგებული მეტამონაცემები.

თუ მხოლოდ დისტანციური ქეში გსურთ და არ გსურთ ბილდის მოვლენების ნაკადის გაგზავნა, უარი თქვით ამით:

```bash
tuist bazel setup --no-build-insights
```

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

აავთენტიფიცირეთ CI <.localized_link href="/guides/server/authentication#continuous-integration">Authentication guide</.localized_link>-ში აღწერილი ერთ-ერთი მეთოდით, შემდეგ გაუშვით `tuist bazel setup` ერთხელ checkout-ის ეტაპის ნაწილად, რათა `.bazelrc.tuist` ასახავდეს სწორ რეგიონს გამშვებისთვის. იხილეთ <.localized_link href="/guides/integrations/continuous-integration">Continuous Integration guide</.localized_link> პროვაიდერისთვის სპეციფიკური მაგალითებისთვის.

## მონაცემთა შენახვა {#data-retention}

Tuist ინახავს დისტანციური ქეშის დაკვირვებებს 90 დღის განმავლობაში. სრული პოლიტიკისთვის იხილეთ <.localized_link href="/guides/server/data-retention">data retention</.localized_link>.
