Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Start here: New Developer Workflow

Table of Contents

...

Overview

  • Git Workflows: Forking workflow with feature branches
    1. Fork repo (if applicable)
      • Press "Fork" in GitHub UI
    2. Clone repo to make changes locally (if applicable)
    3. Ensure correct branch and sync with upstream before making additional changes
      • git checkout master
      • git pull upstream master
    4. Create a branch named after the Story (for example 
      Jira
      serverJIRA
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyNDS-174
      )
      • git checkout -b NDS-174
    5. Stage any modified files for commit
      • git add path/to/modified/file.ext
    6. Commit any modifications to your local branch with a comment
      • git commit -m "A comment about this commit"
    7. Push any local commits back up to your remote branch (your forked repo)
      • git push origin NDS-174
    8. When you are satisfied with your changes, create a Pull Request
      • Press "Pull Request" in GitHub UI
      • Scroll down and click on the "Files Changed" tab to briefly review your own Pull Request
        • Ensure that all changes made on this branch were intentional
      • Name your Pull Request after the Story / branch (i.e. "NDS-174: User can access console of running service via CLI") 
      • Enter a short description of any modifications, additions, or removals from the codebase
        • If applicable, include a Test Case that the reviewer should run before merging the Pull Request
      • Click "Create Pull Request"
  • Docker Workflows: Upload any necessary test images to Docker Hub
    1. Build test image
      • docker build -t ndslabs/apiserver:dev .
    2. Tag test image with Story id (i.e. NDS-174)
      • docker tag ndslabs/apiserver:dev ndslabs/apiserver:NDS-174
    3. Push test image to Docker Hub
      • docker push ndslabs/apiserver:NDS-174
  • Kubernetes Workflows: Sometimes used in testing new services or the API server

...