Использование утилиты Make для автоматизации бизнес-процессов. Бизнес Процессор
Чтение книги онлайн.

Читать онлайн книгу Использование утилиты Make для автоматизации бизнес-процессов - Бизнес Процессор страница 3

СКАЧАТЬ style="font-size:15px;">      # Правило загрузки данных

      $(LOADED_DATA): $(TRANSFORMED_DATA)

      python3 $(SCRIPTS) load $(TRANSFORMED_DATA) > $(LOADED_DATA)

      # Очистка временных файлов

      clean:

      rm -f $(RAW_DATA) $(TRANSFORMED_DATA) $(LOADED_DATA)

      .PHONY: all clean

      ```

      В этом Makefile определены этапы ETL-процесса: извлечение данных из источника, их трансформация и загрузка в конечную базу данных. Make автоматически определяет зависимости между этапами и выполняет их в правильном порядке.

      ### Автоматизация развертывания

      Для компаний, занимающихся разработкой программного обеспечения или предоставляющих ИТ-услуги, важным аспектом является развертывание приложений и обновлений. Make может использоваться для автоматизации процесса развертывания, гарантируя, что все компоненты приложения корректно установлены и настроены.

      #### Пример Makefile для автоматизации развертывания

      ```makefile

      # Переменные

      DEPLOY_DIR = /var/www/myapp

      SOURCES = src/ config/ scripts/

      SSH_HOST = [email protected]

      REPOSITORY = [email protected]:username/myapp.git

      # Основная цель

      deploy: build upload restart

      # Правило сборки приложения

      build:

      cd src && make build

      # Правило загрузки файлов на сервер

      upload:

      rsync -avz $(SOURCES) $(SSH_HOST):$(DEPLOY_DIR)/

      # Правило перезапуска приложения на сервере

      restart:

      ssh $(SSH_HOST) 'systemctl restart myapp.service'

      # Очистка локальных сборок

      clean:

      cd src && make clean

      .PHONY: deploy build upload restart clean

      ```

      Этот Makefile определяет последовательность действий для развертывания приложения: сборка, загрузка на сервер с помощью rsync и перезапуск сервиса на сервере через SSH. Автоматизация этого процесса минимизирует время и снижает вероятность ошибок, связанных с ручным развертыванием.

      ## Глава 5: Расширенные возможности Make

      ### Параллельное выполнение задач

      Make поддерживает выполнение задач параллельно, что может значительно ускорить процесс автоматизации, особенно при работе с большими проектами. Для этого используется опция `-j`.

      #### Пример использования параллельного выполнения

      ```bash

      make -j4

      ```

      В этом примере Make будет пытаться выполнять до четырех задач одновременно.

      ### Использование условных операторов

      Условные операторы позволяют сделать Makefile более динамичным и адаптивным к различным условиям.

      #### Пример условного оператора

      ```makefile

      ifeq ($(OS),Windows_NT)

      RM = del

      else

      RM = rm -f

      endif

      clean:

      $(RM) *.o $(EXECUTABLE)

      ```

      Этот Makefile определяет команду удаления файлов в зависимости от операционной системы: `del` для Windows и `rm -f` для Unix-подобных систем.

      ### Включение других Makefile

      Конец ознакомительного фрагмента.

      Текст предоставлен СКАЧАТЬ