| 2. Build Process | 3. Build Tools | 4. Built Artifacts | 5. Tests | 6. Test Tools | 7. Hosted at | 8. Deployed By | 9. Deployed At |
---|---|---|---|---|---|---|---|---|
Location of the Repository | Build Steps | Framework used to accomplish this | Built Artifacts Created and their Locations | Tests to be Run | Test Suite | Artifacts that have passed all tests | Deployment Infrastructure and Configurations | Infrastructure Provider (AWS, Azure) |
The most up to date instructions for deploying the stack can be found in the Readme.md of the dmcdeploy repository.
The steps above represent the work flow from source code to infrastructure. Our ultimate goal is to have a stable, automated process that can consistently deliver infrastructure.
...
- For Production – most stable pull from DMCDeploy
- For Development --newest code base pull from DMCDeploy_Dev. This repo is configured to allow for fast deployments and code changes. Also allows for individual deployment of segments of the infrastructure. New features of the stack will not be deployed here.
- git clone git clone https://bitbucket.org/DigitalMfgCommons/dmcdeploy_dev.git
- To remain lean the stack created from DMCDepoly_Dev does not contain by default
- Load Balancers
- Security Zones for each individual instance. All machines are deployed to a single security zone with no access restrictions.
- All machines use the same key pair for ssh
- Automated Testing – This infrastructure will deploy development components such as Build (Bamboo/Jenkins), Automated testing tools (Selenium/ Mocha)
- For Production – most stable pull from DMCDeploy
...
- Open terraform.tfvars using your favorite text editor.
# the aws keys
access_key = "your aws key"
secret_key = "your aws secret key"key_name = "alexTERRA2" << make sure no .pem and make sure the key is configured for the appropriate aws region
key_full_path = "~/Desktop/aws/tf/test/DMCFrontEnd/alexTERRA2.pem" << full path to your pem file including the file
stackPrefix = "alex2" << this prefix will be added to all infrastructure elements created so that your stack can be identified form others
activeMqRootPass = "admin" << the admin root pass for activemq
activeMqUserPass = "user" << the user pass for activemq
stackPrefix = "alexGG" << prefix for the stack to be deployed so multiple stacks can coexist
release = "hot" << will determine which release to pull from 'hot'=master/newest code [for dev always use hot] 'V0.0'=alpha release when available
aws_region = "us-west-2" << will deploy in Oregon region 'us-east-1' will deploy in Virginia
""
# the region you wish to deploy to
aws_region = "" << us-west-2 for development
# keys for the front end machine
key_name_front = ""
key_full_path_front = ""
# which commit to deploy on the front end machine
# if commit_front = 'hot' -- the latest available build will be selected
commit_front = "hot"
# uncomment only if you wish to change the default location
#sp_cert_location = "/tmp"
#sp_key_location = "/tmp"
# keys for the rest machine
key_name_rest = ""
key_full_path_rest = ""
# which comit to deploy on the rest machine
# if commit_rest = 'hot' -- the latest available build will be selected
commit_rest = "hot"
# keys to the db machine
key_name_db = ""
key_full_path_db = ""
# Postgress credentials
PSQLUSER = "gforge"
PSQLPASS= "gforge"
PSQLDBNAME = "gforge"
# keys to the solr machine
key_name_solr = ""
key_full_path_solr = ""
# keys to the dome machine
key_name_dome = ""
key_full_path_dome = ""
# keys to the stackMon machine
key_name_stackMon = ""
key_full_path_stackMon = ""
# credentials for activeMQ
key_name_activeMq = ""
key_full_path_activeMq = ""
activeMqRootPass = "admin1"
activeMqUserPass = "user1"
stackPrefix = "alex-2-23-"
release = "hot"
# Server load balancers
restLb = "ben-rest.opendmc.org"
serverURL = "beta.opendmc.org"
# server log level (production, development)
loglevel = "production"
# deploy stack with swagger
use_swagger = "1"
- Open terraform.tfvars using your favorite text editor.
- This will show you the infrastructure you will be creating. Make sure you are happy with your setup.
- 6. Execute terraform apply.
- You should see a stack that contains your selected machines come up. The process should take been 10-15 minutes for a full stack.
...