Настройки среды не найдены в API K8 .NetCore

У меня есть кластер K8 API-интерфейсов .Net Core 8, который развертывается с помощью сценария yml действия Github и использует файлы манифеста K8, созданные из файла docker-compose.

У меня есть файл appsettings.json, для которого я хочу переопределить поля. В моем ProgramExtensions.cs я гарантирую, что пока я устанавливаю их как переменные среды, они будут использоваться вместо значения appsettings.

Я не уверен, куда бы я добавил эти переменные. Я попытался добавить их в секреты Github, а затем использовать их в workflow.yml действий Github, как показано ниже:

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    env:
        DATABASEUSERNAME : ${{ secrets.DATABASEUSERNAME }}
        DATABASEPASSWORD : ${{ secrets.DATABASEPASSWORD }}

После развертывания API дает сбой, поскольку он не может найти секреты в приведенном выше фрагменте. Может ли кто-нибудь указать мне, как правильно это сделать?

Могут быть и другие способы, но пробовали ли вы создать файл .env вручную в качестве шага рабочего процесса и передать секреты своего репозитория? Пример: - run: touch .env && echo VARIABLE=${{ secrets.VARIABLE }} >> .env. Это рекомендуемый способ в документации Docker Compose

GuiFalourd 30.04.2024 13:45

Удивительно, пожалуйста, добавьте в качестве ответа

matt sharp 01.05.2024 05:19
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
0
2
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Возможно, это не единственное решение, но, как предложено в документации Docker Compose, вы можете создать файл .env вручную в качестве шага рабочего процесса и передать секреты своего репозитория.

Файл .env в Docker Compose — это текстовый файл, используемый для определения переменных среды, которые должны быть доступны контейнерам Docker при запуске Docker Compose. Этот файл обычно содержит пары «ключ-значение» переменных среды и позволяет централизовать конфигурацию и управлять ею в одном месте. Файл .env полезен, если вам нужно сохранить несколько переменных среды.

Пример:

 steps:
 - run: |
     touch .env
     echo VARIABLE=${{ secrets.VARIABLE }} >> .env

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