Add infrastructure for Development environment

This commit is contained in:
Alysia Broddrick 2023-11-20 09:59:22 -08:00
parent c19c565210
commit 46dfd79275
No known key found for this signature in database
GPG key ID: 03917052CD0F06B7
6 changed files with 79 additions and 4 deletions

View file

@ -0,0 +1,41 @@
# This workflow runs on pushes to main
# any merge/push to main will result in development being deployed
name: Build and deploy development for release
on:
push:
paths-ignore:
- 'docs/**'
- '**.md'
- '.gitignore'
branches:
- main
jobs:
deploy-development:
if: ${{ github.ref_type == 'tag' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Compile USWDS assets
working-directory: ./src
run: |
docker compose run node npm install &&
docker compose run node npx gulp copyAssets &&
docker compose run node npx gulp compile
- name: Collect static assets
working-directory: ./src
run: docker compose run app python manage.py collectstatic --no-input
- name: Deploy to cloud.gov sandbox
uses: 18f/cg-deploy-action@main
env:
DEPLOY_NOW: thanks
with:
cf_username: ${{ secrets.CF_DEVELOPMENT_USERNAME }}
cf_password: ${{ secrets.CF_DEVELOPMENT_PASSWORD }}
cf_org: cisa-dotgov
cf_space: development
push_arguments: "-f ops/manifests/manifest-development.yaml"

View file

@ -15,6 +15,7 @@ on:
options:
- stable
- staging
- development
- ky
- es
- nl

View file

@ -14,8 +14,8 @@ on:
type: choice
description: Which environment should we flush and re-load data for?
options:
- stable
- staging
- development
- ky
- es
- nl

View file

@ -0,0 +1,32 @@
---
applications:
- name: getgov-development
buildpacks:
- python_buildpack
path: ../../src
instances: 1
memory: 512M
stack: cflinuxfs4
timeout: 180
command: ./run.sh
health-check-type: http
health-check-http-endpoint: /health
health-check-invocation-timeout: 40
env:
# Send stdout and stderr straight to the terminal without buffering
PYTHONUNBUFFERED: yup
# Tell Django where to find its configuration
DJANGO_SETTINGS_MODULE: registrar.config.settings
# Tell Django where it is being hosted
DJANGO_BASE_URL: https://getgov-development.app.cloud.gov
# Tell Django how much stuff to log
DJANGO_LOG_LEVEL: INFO
# default public site location
GETGOV_PUBLIC_SITE_URL: https://beta.get.gov
# Flag to disable/enable features in prod environments
IS_PRODUCTION: False
routes:
- route: getgov-development.app.cloud.gov
services:
- getgov-credentials
- getgov-development-database

View file

@ -43,7 +43,7 @@ cp ops/scripts/manifest-sandbox-template.yaml ops/manifests/manifest-$1.yaml
sed -i '' "s/ENVIRONMENT/$1/" "ops/manifests/manifest-$1.yaml"
echo "Adding new environment to settings.py..."
sed -i '' '/getgov-staging.app.cloud.gov/ {a\
sed -i '' '/getgov-development.app.cloud.gov/ {a\
'\"getgov-$1.app.cloud.gov\"',
}' src/registrar/config/settings.py
@ -105,11 +105,11 @@ echo
echo "Moving on to setup Github automation..."
echo "Adding new environment to Github Actions..."
sed -i '' '/ - staging/ {a\
sed -i '' '/ - development/ {a\
- '"$1"'
}' .github/workflows/reset-db.yaml
sed -i '' '/ - staging/ {a\
sed -i '' '/ - development/ {a\
- '"$1"'
}' .github/workflows/migrate.yaml

View file

@ -619,6 +619,7 @@ SECURE_SSL_REDIRECT = True
ALLOWED_HOSTS = [
"getgov-stable.app.cloud.gov",
"getgov-staging.app.cloud.gov",
"getgov-development.app.cloud.gov",
"getgov-ky.app.cloud.gov",
"getgov-es.app.cloud.gov",
"getgov-nl.app.cloud.gov",