PHP Profi

Оптимизация изображений с помощью GitHub Action Перевод

На днях я опробовал GitHub Actions. Это классный инструмент! Кратко: с его помощью можно запускать код за вас, например, запускать ваши процессы сборки, тесты и развертывания. Это просто файлы конфигурации, которые могут запускать все, что вам нужно. Существует целый маркетплейс Action'ов (действий), готовых работать на вас.

Что я хотел сделать, так это запустить код для оптимизации изображений. В этом случае мне не придётся думать/помнить об этом. Любое изображение в репозитории будет уже оптимизировано.

Для этого уже есть действия с изображениями Calibre, которые мы и будем использовать. Вам также нужно будет убедиться, что для репозитория включены действия. Однин из вариантов - включить действия непосредственно для репозитория:

Далее, вы создаёте файл в ./github/workflows/optimize-images.yml. Там вы можете настроить это действие. Все ваши действия могут иметь отдельные файлы, при желании. Я сделал данное действие отдельным файлом, потому что:

  1. оно работает только с pull-request'ами, поэтому, если у вас есть другие действия, которые выполняются на других триггерах, то они не будут хорошо сочетаться, и
  2. в их документации предлагается именно такое использование.

name: Optimize images
on: pull_request
jobs:
  build:
    name: calibreapp/image-actions
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master

      - name: Compress Images
        uses: calibreapp/image-actions@master
        with:
          githubToken: ${{ secrets.GITHUB_TOKEN }}

Теперь, если вы сделаете pull request (PR), вы увидите, как он работает:

После успешного запуска, action оставляет комментарий к pull-request'у, сообщая что ему удалось оптимизировать:

Кроме того, он повторно закоммитит эти файлы в этот же pull-request.

Я могу открть этот автоматический коммит и посмотреть разницу:

Предварительный просмотр коммита в Git Tower.

Убедившись, что всё хорошо, я могу слить PR:

Круто! Особо ли сложно локально оптимизировать ваши изображения? Нет. Стоит ли оно того, чтобы никогда больше об этом не беспокоиться? Да. Вы берете в работу часть технического долга, но сокращаете его в других местах, что является очень честной сделкой, по крайней мере, на мой взгляд.

2020-12-01 оригинал

Последние посты

Комментарии

авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий