npm

Bring the best of OSS JavaScript development to your projects with npm Orgs - private packages & team management tools.Learn more »

gae-ayaml-env

0.0.19 • Public • Published

Google App Engine - app.yaml environment variable generator for CI / CD systems

Generates an app.yaml file from a template and environment variables, designed for use with GitLab's CI / CD system.

oclif Version Downloads/week License

Usage

Set your environment variables in GitLab (or other system), prefix variables you'd like to persist in app.yaml with "APP_", for example:

Environment variables in GitLab

Create an app.template.yaml file include everything sans environment variables

runtime: nodejs10
env: standard
 
automatic_scaling:
  min_instances: 0
  max_instances: 2
 
service: default
 
env_variables:
  NODE_ENV: 'production'

In your CI / CD process run gae-ayaml-env to emit a populated app.yaml file, make sure you do not commit an actual app.yaml file as it will be overwritten.

Example for GitLab

deploy:
  image: 'rlancer/gcloud-node:LTS-229'
  script:
    - npm i
    - npm run build
    - npx gae-ayaml-env
    - echo $GCLOUD_SERVICE > /tmp/$CI_PIPELINE_ID.json
    - gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
    - gcloud --quiet --project $GCLOUD_PROJECT_ID app deploy app.yaml
  only:
    - prod

The system will write an app.yaml file fully populated with all the variables prefixed with "APP_".

runtime: nodejs10
env: standard
 
env_variables:
  APIMARKET_FROM: '******************'
  DB_DATABASE: '******************'
  DB_HOST: '******************'
  DB_PASSWORD: '******************'
  DB_USER: '******************'
  NODE_ENV: production
  SLACK_APP_ID: '******************'
  SLACK_BOT_TOKEN: '******************'
  SLACK_CLIENT_ID: '******************'
  SLACK_CLIENT_SECRET: '******************'
  SLACK_OAUTH_REDIR: '******************'
  SLACK_SIGNING_SECRET: '******************'
  SLACK_TOKEN: '******************'
  SLACK_VERIFICATION_TOKEN: '******************'
automatic_scaling:
  max_instances: 2

Special thanks to @dannyzen from Google for helping Collaborizm move to GCP.

install

npm i gae-ayaml-env

Downloadsweekly downloads

24

version

0.0.19

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability