github-action
github-action copied to clipboard
DOTENV cannot find .env file
Hi guys, assuming that
env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
# or if using AWS creds directly
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Serverless said: DOTENV: Could not find .env file.
Is necesary to create .env in environment of actions?
Secrets are stored in repo Settings -> Secrets, so a secret with SERVERLESS_ACCESS_KEY
must be created in the repo to use this action.
I've setted secrets, but error persists.
@teamzz111 are you using serverless-dotenv-plugin
?
Yes
@teamzz111 remove that from your plugins and it will work. that plugin is attempting to find an .env
file (which i assume you havent checked in)
i use .env for TENCENT_SECRET_ID & TENCENT_SECRET_KEY, but it still need serverless login
how do I distinguish between AWS and TENCENT Cloud?
I use .env vars for databases, keys etc. I really need this file
@teamzz111 hi, I am facing same issue in github actions. Did you find a solution for this issue?
Remove the plugin or remove your env from gitignore.
I have removed the plugin. Still when I deploy lambda via github actions I can not see any environment variables on aws console. How do i setup the environment variables for the lambda function. I am using this for my gihub actions
I'm facing the same issue.
I ended up not using the action and just installing the serverless
npm package globally then using it to deploy:
- run: pnpm add --global serverless
- name: 'Deploy'
run: |
#
# auth
#
serverless config credentials \
--provider aws \
--key ${{ env.AWS_ACCESS_KEY_ID }} \
--secret ${{ env.AWS_SECRET_ACCESS_KEY }}
#
# deploy
#
serverless deploy \
--config serverless.yml \
--stage ${{ env.STAGE }} \
--region ${{ env.AWS_REGION }}
env:
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
Solution is this https://github.com/marketplace/actions/setup-serverless-environment
Add this to your GitHub actions file to add environment variables then you can use ${env:FACEBOOK_CLIENT_ID} in your serverless.yml file when deploying with serverless
env: FACEBOOK_CLIENT_ID: ${{ secrets.FACEBOOK_CLIENT_ID }} FACEBOOK_SECRET_KEY: ${{ secrets.FACEBOOK_SECRET_KEY }}