Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 1.75 KB

readme.md

File metadata and controls

25 lines (20 loc) · 1.75 KB

Deployments

The purpose of the Deployments directory is to deploy new projects.

Automated Pipelines

GitHub Actions is used as the CI/CD deployment tool. GitHub Actions is connected to the remote git repo hosted in client git repo. There are automated pipelines configured in .github/workflows that watch for changes in the different deployments directories.

Note: Filters for all pipelines have been configured to only watch for changes in the envrionment/deployments/{application}/env directory, specifically changes to tfvars files.

Setup

  1. Clone repo from GitHub git clone lsst/idf_deploy.git
  2. Change freshly cloned repo and change to non master branch git checkout -b simple-project
  3. Create a new folder in the deployments directory mkdir envrionment\deployments\example-project
  4. Start by creating the main.tf, variables.tf, outputs.tf, readme.md, and an \env subdirectory.

    Note: Environment specifics will go under the \env folder in a {environment}.tfvars file name.

  5. Create the desired infrastructure using the pre-build modules in the modules directory.
  6. Copy desired modules from the modules\ directory into the appropriate .tf files.

    Note: New modules normally go into the main.tf file. Variables go into the variables.tf file.

  7. Update the terraform.tfvars file in the \env folder with values for your environment.
  8. Commit changes with git add . and git commit -m 'Your message'

    Pipeline: Build a new pipeline to go along with the new project.

  9. Push your non master branch to trigger a plan git push --set-upstream origin simple-project
  10. Merge the changes to master with git checkout -b master and git push origin master
  11. Delete the branch