файла? У меня есть для разных env разные env файлы config.ENV.sh
В них содержимое следующее:
# recommendations config
RECOMMENDATIONS_MAX_RECOMMENDATIONS=30
RECOMMENDATIONS_MAX_HOTELS_IN_RECOMMENDATION=6
RECOMMENDATIONS_MIN_HOTELS_IN_RECOMMENDATION=1
У меня есть задача на получения данных среды (обрезаю # (комментарии))
- name: Get env variables
id: getenv
working-directory: ./api/config
run: |
API_ENV=$(cat config.staging.sh | sed 's:^\s*#.*$::g')
API_ENV="${API_ENV//'%'/'%25'}"
API_ENV="${API_ENV//$'\n'/'%0A'}"
API_ENV="${API_ENV//$'\r'/'%0D'}"
echo "$API_ENV" >> $GITHUB_ENV
На почему-то эти env переменные не выгружаются. Какие есть ещё варианты реализации подобного?
эээ... source?
Не понял
ok google linux source
Но для этого нужно чтоб каждая строка начиналась с export для экспортирования переменных по конвейеру. А для такого нужно отдельный конфиг писать и фактически дублировать под каждый env. Или может я не до конц понимаю?
https://stackoverflow.com/questions/19331497/set-environment-variables-from-file-of-key-value-pairs
Сейчас час долблюсь с этим, никак не могу понять в чем ошибка: ': not a valid identifier. Выполняю команду: set -a && export $(grep -v '^#' config.staging.sh | xargs) && set +a Содержимое файла конфигурации следующее: # app config AA_APP_NAME=api AA_APP_VERSION=1.0.0 AA_APP_BASE_URL=https://example.com # auth config AA_AUTH_TOKEN_ISSUER=My API AA_AUTH_TOKEN_SECRET_KEY=dfdf AA_AUTH_TOKEN_RESET_PASSWORD_SECRET_KEY=sdf AA_AUTH_ACCESS_TOKEN_LIFETIME=9999h AA_AUTH_REFRESH_TOKEN_LIFETIME=9999h AA_AUTH_RESET_PASSWORD_TOKEN_LIFETIME=15m Если проверить как прописана конфигурация через export, получается следующее (будто некорректно quote выставляет) "eclare -x AA_APP_BASE_URL="https://example.com "eclare -x AA_APP_NAME="api "eclare -x AA_APP_VERSION="1.0.0 "eclare -x AA_AUTH_ACCESS_TOKEN_LIFETIME="9999h "eclare -x AA_AUTH_REFRESH_TOKEN_LIFETIME="9999h declare -x AA_AUTH_RESET_PASSWORD_TOKEN_LIFETIME="15m" declare -x AA_AUTH_TOKEN_ISSUER="My" "eclare -x AA_AUTH_TOKEN_RESET_PASSWORD_SECRET_KEY="sdf "eclare -x AA_AUTH_TOKEN_SECRET_KEY="dfdf
чот ты все смешал. или убери xargs или set
И без этого пробовал, ошибка одна и та же ': not a valid identifier
в кавычки все возьми
Тоже пробовал, не работает, вот конфиг в кавычках # app config AA_APP_NAME="api" AA_APP_VERSION="1.0.0" AA_APP_BASE_URL="https://example.com" # auth config AA_AUTH_TOKEN_ISSUER="My API" AA_AUTH_TOKEN_SECRET_KEY="dfdf" AA_AUTH_TOKEN_RESET_PASSWORD_SECRET_KEY="sdf" AA_AUTH_ACCESS_TOKEN_LIFETIME="9999h" AA_AUTH_REFRESH_TOKEN_LIFETIME="9999h"
Вот несколько комманд которые я пробовал export $(grep -v '^#' config.staging.sh | xargs) export $(grep -v '^#' config.staging.sh) set -a && export $(grep -v '^#' config.staging.sh) && set +a
первая должна работать. покажи резлультат
danylo@DESKTOP-3VQKHTN:/mnt/c/project/api/config$ export $(grep -v '^#' config.staging.sh | xargs) ': not a valid identifier
Обсуждают сегодня