Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Code Repository
2. Build Process3. Build Tools4. Built Artifacts5. Tests6. Test Tools7. Hosted at8. Deployed  By9. Deployed At
Location of the RepositoryBuild StepsFramework used to accomplish thisBuilt Artifacts Created and their LocationsTests to be RunTest SuiteArtifacts that have passed all testsDeployment Infrastructure and ConfigurationsInfrastructure 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.

...

    1. For Production – most stable pull from DMCDeploy
      1. git clone https://bitbucket.org/DigitalMfgCommons/dmcdeploy.git
    2. 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.
      1. git clone git clone https://bitbucket.org/DigitalMfgCommons/dmcdeploy_dev.git
      2. To remain lean the stack created from DMCDepoly_Dev does not contain by default
        1. Load Balancers
        2. Security Zones for each individual instance. All machines are deployed to a single security zone with no access restrictions.
        3. All machines use the same key pair for ssh

    3. Automated Testing – This infrastructure will deploy development components such as Build (Bamboo/Jenkins), Automated testing tools (Selenium/ Mocha)

...

    1. 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

       

    5
    1. ""

      # 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"

       

    5. Execute terraform plan
  1. This will show you the infrastructure you will be creating. Make sure you are happy with your setup.
  2. 6. Execute terraform apply.
  3. You should see a stack that contains your selected machines come up. The process should take been 10-15 minutes for a full stack. 

...