|
||
---|---|---|
.gitea/workflows | ||
deploy.sh | ||
readme.md | ||
update-version.sh |
Ops Git Workflows
Problem
Current BitBucket
Operations Workflow
Manual:
- Pull latest source from CVS.
- Work on code, and schedule in-person/zoom reviews as necessary until stakeholders are satisfied with changes.
- Commit and push code back to CVS.
- Deploy code by checking out procs and a cascading set of rsyncs.
- Run verion check in terminal to verfy it is the version you are expecting.
- Run code. OASIS will log git version metadata like version, and commit.
Current CVS
Operations Workflow
Manual:
- Pull latest source from CVS.
- Work on code, and schedule in-person/zoom reviews as necessary until stakeholders are satisfied with changes.
- Commit and push code back to CVS.
- Deploy code by checking out procs and a cascading set of rsyncs.
- Run verion check in terminal to verfy it is the version you are expecting.
- Run code. OASIS will log git version metadata like version, and commit.
Spirit Proposal
Operations Workflow
Manual:
- Create a git feature branch and open a work in progress pull request on BitBucket.
- Work on code, adding reviewers as necessary, until both you and your reviewers are satisfied with changes.
- Merge pull request to main branch.
Automatic Steps:
- TeamCity git tags the commit now in main with an incremented version number. Additionally, it signs the tag with a PGP key.
- TeamCity pushes changes to bare git repo on dev net.
- Dev net cascade syncs bare repos on each net.
Manual:
- Git checkout version. If git does not throw an error, you have the same code.
- 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
- https://mermaid.js.org/syntax/flowchart.html
- https://pandoc.org/chunkedhtml-demo/10-slide-shows.html
- https://en.wikipedia.org/wiki/Spacecraft_command_language
- https://ntrs.nasa.gov/api/citations/19940019140/downloads/19940019140.pdf
- https://www.gnu.org/software/trans-coord/manual/cvs/html_node/Keyword-list.html#Keyword-list