Go to file
Sureness3036 afdd918557
Some checks failed
versions / build (push) Has been cancelled
Update .gitea/workflows/demo.yaml
2023-06-09 16:43:37 +00:00
.gitea/workflows Update .gitea/workflows/demo.yaml 2023-06-09 16:43:37 +00:00
deploy.sh added post-merge hook 2023-06-08 12:01:35 -06:00
readme.md added post-merge hook 2023-06-08 12:01:35 -06:00
update-version.sh added post-merge hook 2023-06-08 12:01:35 -06:00

Ops Git Workflows

Problem

Current BitBucket

Operations Workflow

Manual:

  1. Pull latest source from CVS.
  2. Work on code, and schedule in-person/zoom reviews as necessary until stakeholders are satisfied with changes.
  3. Commit and push code back to CVS.
  4. Deploy code by checking out procs and a cascading set of rsyncs.
  5. Run verion check in terminal to verfy it is the version you are expecting.
  6. Run code. OASIS will log git version metadata like version, and commit.

Current CVS

Operations Workflow

Manual:

  1. Pull latest source from CVS.
  2. Work on code, and schedule in-person/zoom reviews as necessary until stakeholders are satisfied with changes.
  3. Commit and push code back to CVS.
  4. Deploy code by checking out procs and a cascading set of rsyncs.
  5. Run verion check in terminal to verfy it is the version you are expecting.
  6. Run code. OASIS will log git version metadata like version, and commit.

Spirit Proposal

Operations Workflow

Manual:

  1. Create a git feature branch and open a work in progress pull request on BitBucket.
  2. Work on code, adding reviewers as necessary, until both you and your reviewers are satisfied with changes.
  3. Merge pull request to main branch.

Automatic Steps:

  1. TeamCity git tags the commit now in main with an incremented version number. Additionally, it signs the tag with a PGP key.
  2. TeamCity pushes changes to bare git repo on dev net.
  3. Dev net cascade syncs bare repos on each net.

Manual:

  1. Git checkout version. If git does not throw an error, you have the same code.
  2. Run code. OASIS will log git version metadata like version, and commit.

Build Code

Tamper Proof

PGP signed tags and SHA-256 git hashes ensure that the code in each repo cannot be tampered end to end between the Bitbucket repo and deployment.

Comparison

feature Spirit CVS/BB CVS
Tamper Proof
Automatic Deployment
Version Validation
Enforced Code Review
Granular Merge Permissions
Operator Burden Low High Medium
Software Maintenance Low Low Low
Individually Versioned Files

Reading