Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 2.87 KB

devops.rst

File metadata and controls

87 lines (62 loc) · 2.87 KB

Development Operations

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) :citewiki:DevOps. Tudat relies on open source solutions for development; GitHub for its hosted version control system (VCS), Conda for it's package manager, and Azure for it's continuous integration (CI) service.

Discuss with team whether learning goals should be presented at this level or whether a clean practical use case of the section should be presented. (i.e. Package Management: conda install tudatpy, what goes on behind the scenes into making this possible?)

github Code Collaboration

^^^

  1. Understand the differences between Git and Github.
  2. Installing and configuring the git command for use.
  3. Create, clone and manage repositories from Github.
  4. Understand the Tudat Git workflow.

bullhorn Release Versioning

^^^

  1. Understand what "dependency hell" is and how to avoid it.
  2. Understand MAJOR.MINOR.PATCH and when each of them are bumped.
  3. Understand what happens when rever <new_version_number> is executed.
  4. Understand how to maintain the automated changelog.

cubes Package Management

^^^

This section describes the processes and tools that go into the following executable command using Conda:

conda install tudatpy  # -c tudat-team

cloud-upload Continuous Deployment

^^^

  1. Understand what conda-forge is, and what their role is with respect to Conda packages.
  2. Understand how conda-smithy builds, tests and packages across target OS'.
  3. Know how to inspect build status' of packages on Azure and re-trigger them.
  4. Understand common problems encountered in this workflow and how to resolve them.

image

image

devops/code_collaboration devops/release_versioning devops/package_manager devops/continuous_deployment