80 lines
3.6 KiB
Markdown
80 lines
3.6 KiB
Markdown
# 📦 Реестр экшенов (CI/CD)
|
||
|
||
Все экшены в этой организации являются **локальными зеркалами** официальных репозиториев. Они настроены на автоматическое обновление (зеркало).
|
||
|
||
## 🛠 Доступные экшены
|
||
|
||
### 1. Базовые экшены (Рантайм и код)
|
||
|
||
* **`actions/checkout`**
|
||
* *Назначение:* Клонирование кода репозитория внутрь раннера. Обязателен первым шагом в 95% пайплайнов.
|
||
* *Пример использования:*
|
||
```yaml
|
||
- name: Checkout Repository
|
||
uses: actions/checkout@v4
|
||
```
|
||
|
||
* **`actions/setup-python`**
|
||
* *Назначение:* Развертывание рантайма Python.
|
||
* *Пример использования:*
|
||
```yaml
|
||
- name: Install Python
|
||
uses: actions/setup-python@v5
|
||
```
|
||
|
||
### 2. Кэширование и Артефакты (Скорость и Передача файлов)
|
||
|
||
* **`actions/cache`**
|
||
* *Назначение:* Универсальное кэширование любых директорий и тяжелых файлов между сборками (слои, кэш компиляторов, статика).
|
||
* *Пример использования:*
|
||
```yaml
|
||
- name: Cache Virtualenv
|
||
uses: actions/cache@v4
|
||
```
|
||
|
||
* **`actions/upload-artifact`**
|
||
* *Назначение:* Сохранение бинарников, отчетов тестирования или сборок.
|
||
* *Пример использования:*
|
||
```yaml
|
||
- name: Save Build
|
||
uses: actions/upload-artifact@v4
|
||
```
|
||
|
||
* **`actions/download-artifact`**
|
||
* *Назначение:* Скачивание ранее сохраненных артефактов (например, для деплоя собранного пакета в другой джобе).
|
||
* *Пример использования:*
|
||
```yaml
|
||
- name: Download Build
|
||
uses: actions/download-artifact@v4
|
||
```
|
||
|
||
### 3. Docker и Контейнеризация
|
||
|
||
* **`actions/login-action`** *(Зеркало с docker/login-action)*
|
||
* *Назначение:* Безопасная авторизация в локальном Container Registry или внешнем реестре.
|
||
* *Пример использования:*
|
||
```yaml
|
||
- name: Registry Login
|
||
uses: actions/login-action@v3
|
||
```
|
||
|
||
* **`actions/build-push-action`** *(Зеркало с docker/build-push-action)*
|
||
* *Назначение:* Сборка Docker-образа из Dockerfile и его автоматическая отправка в реестр. Поддерживает локальное кэширование слоев сборки.
|
||
* *Пример использования:*
|
||
```yaml
|
||
- name: Build & Push Image
|
||
uses: actions/build-push-action@v6
|
||
```
|
||
|
||
### 4. Управление Серверами (Деплой)
|
||
|
||
* **`actions/ssh-action`** *(Зеркало с appleboy/ssh-action)*
|
||
* *Назначение:* Удаленный запуск bash-команд на целевых серверах по протоколу SSH (перезапуск Docker-контейнеров, обновление файлов).
|
||
* *Пример использования:*
|
||
```yaml
|
||
- name: Remote Deploy Command
|
||
uses: actions/ssh-action@v1
|
||
```
|
||
|
||
|