cs314 software engineering configuration management
play

CS314 Software Engineering Configuration Management Dave Matthews - PDF document

1/17/18 CS314 Software Engineering Configuration Management Dave Matthews Configuration Management Management of an evolving system in a controlled way. Version control tracks component changes as they happen. System Building


  1. 1/17/18 CS314 Software Engineering Configuration Management Dave Matthews Configuration Management • Management of an evolving system in a controlled way. – Version control tracks component changes as they happen. – System Building assembles components for testing and release. Frequently is better. – Change Management addresses stakeholder proposals. – Release Management plans and prepares for distribution. Ian Sommerville, Software Engineering, 10 th Edition, 2016 1

  2. 1/17/18 Version Management • Two models – Centralized – master repository maintains all versions (SVN) – Distributed – multiple copies exist at the same time (Git) • Features of both – Version and release identification – Change history recording – Independent Development – Project Support – Storage Management Ian Sommerville, Software Engineering, 10 th Edition, 2016 Distributed Model Benefits • A backup mechanism for the master repository. • Allows developers to work offline – commit changes without a network connection – Developers can compile and test locally. Ian Sommerville, Software Engineering, 10 th Edition, 2016 2

  3. 1/17/18 System Building • Build script generation (configuration file) • Build system integration with version control system • Minimal recompilation (what changed or affected) • Executable system creation • Test automation (check build not broken by changes) • Report success or failure of build and test • Documentation (release notes) automatically generated Ian Sommerville, Software Engineering, 10 th Edition, 2016 Change Management • Ensure changes are applied in a controlled way. – requirements, bugs, … • Consider factors in decisions to changes – Consequences – Benefits – Number of users affected – Cost – Product release cycle Ian Sommerville, Software Engineering, 10 th Edition, 2016 3

  4. 1/17/18 Release Management • Plan the release • Prepare the system for release – Configuration files – Data files – Installation program – Electronic and paper documentation – Packaging and associated publicity • Document the release Ian Sommerville, Software Engineering, 10 th Edition, 2016 GitHub / Git https://github.com https://help.github.com/ 4

  5. 1/17/18 GitHub/ Git • GitHub (server) – On the internet, holds the master repo, issues, releases, … – Code on master should always build/test/run with no problems – No changes are made directly in master – Proposed changes are reviewed, approved, then merged • Git (client) – On a remote/local machine – Holds a clone of the master – Changes made in branches pushed back to the GitHub master and merged via a pull request Using GitHub and Git GitHub Git Git Git GitHub GitHub Select, Refresh (pull) Modify and Add your Open a pull Address any estimate, and or clone repo add files and changes to request for the merge assign a if needed. directories in the branch. commit for conflicts or pending issue Create and the repo. Commit the review by comments. issue. checkout a Build and test branch with others. Merge the pull new local before you the #issue. request and branch in your commit. Push branch confirm. repo clone. to master. https://guides.github.com/ 5

  6. 1/17/18 Git Commands - local setup # install git on your local system # configure git username, email git config --global user.name “[firstname lastname]” git config --global user.email “[valid-email]” # clone your team repo or the class repo git clone [masterURL] https://education.github.com/git-cheat-sheet-education.pdf Git Commands - start a new branch # update your local copy before you start git git pull origin master pull origin master # start a new branch git branch [ git branch [newbranchname newbranchname] git git checkout [ checkout [newbranchname newbranchname] # never master! ] # never master! # on a single line git checkout git checkout –b [ b [newbranchname newbranchname] ] # verify the branch just to be sure, never master git git branch branch https://education.github.com/git-cheat-sheet-education.pdf 6

  7. 1/17/18 Git Commands - commit and push # create, edit, rename, move, or delete files under “.”. # build and test to verify changes work git git add . # add all changes to branch add . # add all changes to branch git status # verify proposed changes are listed git status # verify proposed changes are listed git git commit commit –m “closes #999” # associate with task 999 m “closes #999” # associate with task 999 git git push origin push origin [branchname branchname] https://education.github.com/git-cheat-sheet-education.pdf Git Commands - merge conflicts # find files with merge conflicts on your local repo git git status status # edit files to resolve the conflicts between # <<<<<<< HEAD and >>>>>>> BRANCH-NAME # re build and test git add . git add . git git commit commit –m “resolved merge conflict” m “resolved merge conflict” git git push origin push origin [branchname branchname] https://education.github.com/git-cheat-sheet-education.pdf 7

  8. 1/17/18 GitHub Etiquette • No changes made directly to master branch, never checkout master. • All changes made in local/separate branches and merged via pull requests. • All pull requests associated with an issue. • Never break master. It should always build/test/run successfully. https://guides.github.com/activities/contributing-to-open-source/ Canvas - Brews • README.md – Update team page in repo • team/eID/README.md – Add your individual page to the repo • Brews – Add a brewery to the tour – Use proper GitHub etiquette – When done correctly 1 addition and 0 deletions – May need to merge conflicts 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend