Работая над проектом, важно иметь все ваши зависимости в современном. Новые версии имеют новые функции, исправления ошибок и многие другие улучшения.
Есть много инструментов, которые помогают нам сохранить все зависимости в современном. Для Maven
Проекты у нас есть Версии Maven Plugin , где мы можем запустить
mvn versions:display-dependency-updates
и увидеть что-то вроде:
[INFO] --- versions-maven-plugin:2.7:display-dependency-updates (default-cli) @ poe-runner --- [INFO] The following dependencies in Dependency Management have newer versions: [INFO] com.github.fabasoad:commons-lang ...................... 0.2.3 -> 0.4.5 [INFO] com.google.guava:guava .............................. 19.0 -> 29.0-jre [INFO] commons-cli:commons-cli ................................... 1.2 -> 1.4
Для NPM
Проекты Есть много других инструментов, таких как NPM-проверка или NPM-контрольные обновления , где мы можем запустить NCU
и увидеть что-то вроде этого:
PS C:\Projects\MyProject> ncu Checking C:\Projects\MyProject\package.json [====================] 42/42 100% @babel/core 7.8.7 → 7.9.0 @babel/preset-env 7.8.7 → 7.9.5 @babel/preset-react 7.8.3 → 7.9.4 babel-loader 8.0.6 → 8.1.0 firebase 7.10.0 → 7.14.2 Run ncu -u to upgrade package.json
Все такие инструменты помогают нам сохранить наши проекты «здоровыми». Но как насчет действий GitHub? Что, если у вас есть много файлов рабочих процессов со многими действиями GitHub. Было бы трудно отслеживать все версии вручную. А вот Действия GitHub Проверить обновления приходит, чтобы помочь вам 😉
Действия GitHub Проверить обновления (GHACU) Это инструмент, который поможет вам сохранить версии настроившихся действий GitHUB в современном виде. Вот как это выглядит в действии:
PS C:\Projects\linguist-action> ghacu > Dockerfile Lint (.github\workflows\dockerfile-lint.yml) actions/checkout v2.0.0 » v2.1.0 burdzwastaken/hadolint-action master » 1.1.0 > Shell Lint (.github\workflows\shell-lint.yml) actions/checkout v1 » v2.1.0 bewuethr/shellcheck-action v2.0.1 » v2.0.2 > YAML Lint (.github\workflows\yaml-lint.yml) ibiqlik/action-yamllint v0.0.2 » v1.0.0 Run ghacu -u to upgrade actions.
Установка
Все то, что вам нужно сделать, это пойти в Страница выпусков И загрузите последний релиз на основе ОС, который у вас есть. Он поддерживает MacOS, Linux и Windows.
MacOS и Linux.
# MacOS: ghacu-1.1.3-osx-x64.tgz cd ~ && wget https://github.com/fabasoad/ghacu/releases/download/v1.1.3/ghacu-1.1.3-linux-x64.tgz tar -xvf ghacu-1.1.3-linux-x64.tgz cd ghacu-1.1.3-linux-x64 chmod 755 ghacu PATH=$PATH:~/ghacu-1.1.3-linux-x64
Окна
Есть 2 варианта установки его в Windows:
- Установите его так же, как для Linux/Macos — скачать пакет, распакуйте его и добавьте путь к
Путь
Переменная среды. - Скачайте исполняемый файл и просто запустите его. Затем добавьте путь к
Путь
Переменная среды.
использование
Как только вы устанавливаете инструмент, откройте свою любимую консоль и запустите команду ниже. Вы должны увидеть установленную версию, если вы установили ее правильно:
PS C:\Projects\MyProject> ghacu --version ghacu 1.1.3
На данный момент он поддерживает два варианта:
PS C:\Projects\MyProject> ghacu --help ghacu 1.1.3 Copyright (C) 2020 ghacu -r, --repository Path to the root of a project. -u, --upgrade Upgrade versions to the latest one. --help Display this help screen. --version Display version information.
-R, —repository
Это путь к проекту, который имеет .Github/Workflows
Папка внутри, например C: \ Проекты \ MyProject
. Если вы не определяете его, путь будет текущим путем, в котором вы запускаете ГАКУ
Отказ Результат такой же в примерах ниже.
PS C:\Projects\MyProject> ghacu > CI (latest) (.github\workflows\ci-latest.yml) actions/checkout master » v2.1.0 > YAML Lint (.github\workflows\yaml-lint.yml) ibiqlik/action-yamllint v0.0.2 » v1.0.0 Run ghacu -u to upgrade actions.
PS C:\> ghacu -r "C:\Projects\MyProject" > CI (latest) (.github\workflows\ci-latest.yml) actions/checkout master » v2.1.0 > YAML Lint (.github\workflows\yaml-lint.yml) ibiqlik/action-yamllint v0.0.2 » v1.0.0 Run ghacu -u to upgrade actions.
-u, —uppgrade.
Используйте эту опцию, если вы хотите обновить свои действия на новые версии. Сначала я предлагаю вам бежать ГАКУ
Команда без этой опции, чтобы увидеть, если новые версии хорошо выглядят для вас, а затем запустить Ghacu -u
Отказ
PS C:\Projects\MyProject> ghacu -u > CI (latest) (.github\workflows\ci-latest.yml) actions/checkout master » v2.1.0 > YAML Lint (.github\workflows\yaml-lint.yml) ibiqlik/action-yamllint v0.0.2 » v1.0.0 PS C:\Projects\MyProject> ghacu All GitHub Actions match the latest versions.
Вывод
Надеюсь, вам понравится использовать этот инструмент. Что касается меня, я начал использовать его из бета-версии и наслаждаться этим, а также улучшая его. Не стесняйтесь публиковать какие-либо запросы на функции или отчеты об ошибках Проблемы страницы Это поможет мне лучше сделать этот инструмент лучше и лучше.
Будущее
Есть много идей для реализации:
- Создать
Choco
,заваривать
,apt-get
,APK
Пакеты для легкой установки. - Добавить индикатор прогресса, как:
[=================---] 38/42 86%
- Добавить поддержку
--revert
,--parallel
и многие другие особенности. - Добавить путь установки в
Путь
Переменная среды автоматически после установки. - Поддержите разные цвета в консольном выходе текста.
- Многие другие.
Это написано в C # .NET Основной И если вы заинтересованы в вкладе, вы очень можете вилить репо и помочь улучшить его 💻
Репозиторий: https://github.com/fabasoad/ghacu
Оригинал: «https://dev.to/fabasoad/introducing-github-actions-check-updates-42ad»