Skip to content

peakflo/app-yaml-env-compiler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Securely storing environment variables in Google App Engine (GAE) with app.yaml

The action will help you to solve the following problems:

  1. If you need to store API keys or other sensitive information in app.yaml as environment variables for deployment on Google App Engine.
  2. If you don't like the idea to push secret environment variables app.yaml to GitHub.
  3. If you don't like the idea to store the environment variables in a datastore.

Action swaps environment variables in app.yaml with the minimal effort

  1. Modify the app.yaml file:

     env_variables:
         MY_ENV_VAR1: $MY_ENV_VAR1
         MY_ENV_VAR2: $MY_ENV_VAR2
    
  2. Add this action to your workflow:

     - uses: actions/checkout@v1
     - uses: peakflo/[email protected]
       env:
         MY_ENV_VAR1: ${{ secrets.MY_ENV_VAR1 }}
         MY_ENV_VAR2: ${{ secrets.MY_ENV_VAR2 }}  
    

Note: app.yaml file should be in the root project directory

Full example with deployment to Google App Engine:

deploy:
    name: Deploy
    runs-on: ubuntu-latest
    needs: [build]
steps:
    - uses: actions/checkout@v1
    - uses: peakflo/[email protected]
      env:
        MY_ENV_VAR1: ${{ secrets.MY_ENV_VAR1 }}
        MY_ENV_VAR2: ${{ secrets.MY_ENV_VAR2 }}              
    - uses: actions-hub/gcloud@master
      env:
        PROJECT_ID: ${{ secrets.GCLOUD_PROJECT_ID }}
        APPLICATION_CREDENTIALS: ${{ secrets.GCLOUD_AUTH }}
        CLOUDSDK_CORE_DISABLE_PROMPTS: 1
      with:
        args: app deploy app.yaml

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 87.9%
  • Dockerfile 12.1%