serverless / github-action

:zap::octocat: A Github Action for deploying with the Serverless Framework
Apache License 2.0
656 stars 170 forks source link

DOTENV cannot find .env file #36

Open teamzz111 opened 4 years ago

teamzz111 commented 4 years ago

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?

DavideViolante commented 4 years ago

Secrets are stored in repo Settings -> Secrets, so a secret with SERVERLESS_ACCESS_KEY must be created in the repo to use this action.

teamzz111 commented 4 years ago

I've setted secrets, but error persists.

image

mlg87 commented 3 years ago

@teamzz111 are you using serverless-dotenv-plugin?

teamzz111 commented 3 years ago

Yes

mlg87 commented 3 years ago

@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)

zuojianghua commented 3 years ago

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?

teamzz111 commented 3 years ago

I use .env vars for databases, keys etc. I really need this file

prateek105 commented 3 years ago

@teamzz111 hi, I am facing same issue in github actions. Did you find a solution for this issue?

teamzz111 commented 3 years ago

Remove the plugin or remove your env from gitignore.

prateek105 commented 3 years ago

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

uvinod commented 1 year ago

I'm facing the same issue.

o-az commented 1 year ago

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 }}
sehrish30 commented 1 year ago

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 }}

danielnmai commented 1 month ago

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 }}

Link does not work? I'm facing the same problem, even after removing the plugin, it still fails to load the env vars. My deploy script:

name: Deploy NodeJS API to AWS Lambda with Serverless Framework

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [20.x]
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Set up Node
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}

      - name: Build code
        run: yarn install

      - name: Transpile JS code
        run: yarn build

      - name: Deploy to AWS
        uses: serverless/github-action@v3.2.0
        with:
          args: deploy
        env:
          SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}