Ссылка на переменные среды в действиях GitHub на том же шаге

У меня есть задание, которое должно ссылаться на переменную среды, установленную в команде на том же шаге, прежде чем она будет установлена. GitHub Actions правильно устанавливает переменную, но не ссылается на нее на том же шаге, оставляя мне пустое значение.

jobs:
  test-commands:
    runs-on: ubuntu-latest
    steps:
      - run: |
          echo "image=2.1" >> $GITHUB_ENV
          echo "image_ref=$image" >> $GITHUB_ENV
          echo "image_ref_2=${{env.image}}" >> $GITHUB_ENV
      - run: echo ${{env.image}} ${{env.image_ref}} ${{env.image_ref_2}}

Это пример того, что я пытаюсь выполнить, как показано, ни один из методов не работает, только переменная image правильно печатается на 2-м шаге, а другие переменные устанавливаются как нулевые.

Мне не удалось найти ссылку в документах, в которой упоминалось бы, что переменные могут быть указаны только на следующем шаге.

Приветствуются любые предложения по правильной настройке. Заранее спасибо!

Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие...
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц....
Как собрать/развернуть часть вашего приложения Angular
Как собрать/развернуть часть вашего приложения Angular
Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?
Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем...
Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после...
1
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Из документации:

Вы можете сделать переменную среды доступной для любых последующих шагов. в задании рабочего процесса путем определения или обновления переменной среды и запись этого в файл среды GITHUB_ENV. Шаг, который создает или обновляет переменную окружения не имеет доступа к новой значение, но все последующие шаги в задании будут иметь доступ. Имена переменных среды чувствительны к регистру, и вы можете включить пунктуация. Дополнительные сведения см. в разделе «Переменные среды».

Итак, в вашем случае вы можете записать свой результат в переменную bash, которую вы можете использовать на своем шаге, а затем экспортировать эту же переменную в GITHUB_ENV.

Пример:

steps:
  - run: |
      IMAGE=2.1
      echo "image=${IMAGE}" >> $GITHUB_ENV
      echo "image_ref=${IMAGE}" >> $GITHUB_ENV
  - run: echo ${{env.image}} ${{env.image_ref}}

Бегать:

Другие вопросы по теме