Действия GitHub с зашифрованным SECRET_KEY в качестве переменной окружения не работают
У меня нет большого опыта в кодировании. В настоящее время я пишу небольшое приложение Django. Следуя всем правилам, я не хочу размещать SECRET_KEY в репозитории, поэтому я создал переменную окружения SECRET_KEY в файле .bashrс. А в файле settings.py я написал: SECRET_KEY = os.environ.get ('SECRET_KEY')
Когда я выполняю
pylint --load-plugins pylint_django my_application
в терминале на моем компьютере все работает. Я получаю ответ
Ваш код был оценен на 9.88 / 10
Также у меня есть рабочий процесс pylint.yaml для выполнения тестов pylint-django на push-триггере, когда я отправляю свои файлы в репо на GitHub:
name: Pylint
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Analysing the code with pylint
run: |
pylint --load-plugins pylint_django rm
Когда я отправляю свои файлы на GitHub, я получаю следующее:
Похоже, что GitHub-хостинг runner не видит значение моего SECRET_KEY, прописанного в файле .bashrc
.
на моей локальной машине.
Я попытался изменить свой файл следующим образом:
name: Pylint
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Analysing the code with pylint
run: |
export SECRET_KEY=${{ secrets.SECRET_KEY }}
export DB_USER=${{ secrets.DB_USER }}
export DB_PASSWORD=${{ secrets.DB_PASSWORD }}
export DB_NAME=${{ secrets.DB_NAME }}
pylint --load-plugins pylint_django rm
Затем я получил эту ошибку:
Run export SECRET_KEY=***
/home/runner/work/_temp/87974674-0535-4fca-ab32-30cf1a19f030.sh: line 1: syntax error near unexpected token `4h%fzr+bqqsmg8ftp-a$4%b'
Error: Process completed with exit code 2.
Я изменил свой файл pylint.yaml на следующий:
name: Pylint
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Analysing the code with pylint # SECRET_KEY is generated with DJANGO SECRET KEY GENERATOR
run: |
export SECRET_KEY=0-42!#@*6jqo)lv^+@-+&(-@kjke@xzk%)1!w)vz-1uwk71p)=
export DB_USER=${{ secrets.DB_USER }}
export DB_PASSWORD=${{ secrets.DB_PASSWORD }}
export DB_NAME=${{ secrets.DB_NAME }}
pylint --load-plugins pylint_django rm
и получил эту ошибку:
Run export SECRET_KEY=0-42!#@*6jqo)lv^+@-+&(-@kjke@xzk%)1!w)vz-1uwk71p)=
/home/runner/work/_temp/fdbfd3cd-9022-4cd6-833c-0aef801ddddb.sh: line 1: syntax error near unexpected token `)'
Error: Process completed with exit code 2.
Как я могу сообщить моему рабочему процессу pylint, какой SECRET_KEY использовать в файле pylint.yaml для прохождения тестов?
Пожалуйста, помогите.Я уже потратил много времени на размышления и поиск в интернете и документации GitHub, но ничего для себя не нашел.
Я был очень близок к решению. Из-за того, что SECRET_KEY
содержит круглые скобки, необходимо заключить SECRET_KEY
в двойные кавычки.
- name: Analysing the code with pylint # SECRET_KEY is generated with DJANGO SECRET KEY GENERATOR
run: |
export SECRET_KEY="0-42!#@*6jqo)lv^+@-+&(-@kjke@xzk%)1!w)vz-1uwk71p)="
export DB_USER=${{ secrets.DB_USER }}
export DB_PASSWORD=${{ secrets.DB_PASSWORD }}
export DB_NAME=${{ secrets.DB_NAME }}
pylint --load-plugins pylint_django rm