0.0.20 • Published 12 months ago

gae-ayaml-env v0.0.20

Weekly downloads
186
License
MIT
Repository
github
Last release
12 months ago

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

Hide Output in Console

to hide the output of the generated file in the console you can use the flag: no-output

Example using npx:

npx gae-ayaml-env --no-output

Special thanks

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

0.0.20

12 months ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.1

5 years ago

0.0.0

5 years ago