title: How do I add a .env file in gitlab ci during deployment stage?
body: <p>So I have a react/typescript app in my repo that I'm working on and in my repo I have a .env file that I'm ignoring so that my secrets don't get exposed and a .env-example file of important environment variables to configure. My problem is, since I'm not pushing the .env file to my repo, when I deploy my app through the <strong>google app engine</strong>(this is done in the deployment stage in my <strong>gitlab-ci.yml</strong> file), these environment variables will not be present in production and I need them for my app to work as I do something like this in my webpack.config.js file.</p>
  
  <pre><code>const dotenv = require('dotenv').config({ path: __dirname + '/.env' });
  </code></pre>
  
  <p>and then</p>
  
  <pre><code>new webpack.DefinePlugin({
    'process.env': dotenv.parsed
  })
  </code></pre>
  
  <p>Here is my .gitlab-ci file for reference in case anyone here wants to see.</p>
  
  <pre><code>cache:
    paths:
      - node_modules/
  
  stages:
    - build
    - test
    - deploy
  
  Build_Site:
    image: node:8-alpine
    stage: build
    script:
      - npm install --progress=false
      - npm run-script build
    artifacts:
      expire_in: 1 week
      paths:
        - build
  
  Run_Tests:
    image: node:8-alpine
    stage: test
    script:
      - npm install --progress=false
      - npm run-script test
  
  Deploy_Production:
    image: google/cloud-sdk:latest
    stage: deploy
    environment: Production
    only:
      - master
    script:
      - echo $DEPLOY_KEY_FILE_PRODUCTION &gt; /tmp/$CI_PIPELINE_ID.json
      - gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
      - gcloud config set project $PROJECT_ID_PRODUCTION
      - gcloud info
      - gcloud --quiet app deploy
    after_script:
      - rm /tmp/$CI_PIPELINE_ID.json
  </code></pre>
  
  <p>Also, feel free to critique my gitlab-ci.yml file so I can make it better.</p>