O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Agile team workflow

306 visualizações

Publicada em

managment team workflow with git work flow ci,cd & release strategy, smantic versioning , code review, lint & test

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Agile team workflow

  1. 1. Agile team workflow Mahmoud Masih Tehrani Coderconf3
  2. 2. Mahmoud Masih Tehrani Php & Golang developer about 10 years use GNU/Linux I love Nature ,Sport ,Theatre ,Free Software & Programing Username : mahm0ud or mahm0ud22 Email: mahmud.tehrani@gmail.com
  3. 3. Git What is it? Git is a free and open source distributed version control system created by Linus Torvalds in 2005 ( Who is also the creator of Linux kernel ). It is designed to manage everything for small or very large projects with speed and efficiency. Majors organisations like Google, Facebook, Microsoft uses GIT daily.
  4. 4. But, It’s too complicated! Most of the developer who doesn’t use git or using git very little, they came up saying, “Git is too complicated. It’s too hard to learn. I don’t really understand it.” Actually, Git is very easy to use and learn and especially considering how powerful it is! If you can have the basic understanding of git flow, it’ll be a life saviour for YOU.
  5. 5. A successful Git branching model First post about git workflow in 2010 By Vincent Driessen
  6. 6. What’s the best workflow different team + different cultural + different product = git workflow
  7. 7. Design your own workflows issue issue issue issue Our codeIssues
  8. 8. Linear workflow
  9. 9. Another code freeze Idle developer
  10. 10. Branching workflow
  11. 11. Why branch? Isolation Stability Traceability
  12. 12. Git Workflow model Feature branching Release branching Hot fix branching

  13. 13. Feature branching Feature A Feature B Feature C Feature D Issues
  14. 14. gitlab merge request OR github pull request
  15. 15. release branching
  16. 16. Release Branch Sid Testing Stable
  17. 17. hot fix branching
  18. 18. Tagging Versions(Semantic) MAJOR.MINOR.PATCH 1. MAJOR version when you make incompatible API changes, 2. MINOR version when you add functionality in a backwards-compatible manner, and 3. PATCH version when you make backwards-compatible bug fixes.
  19. 19. Review code
  20. 20. code review rules
  21. 21. Test & lint
  22. 22. Deployment
  23. 23. Cycle team
  24. 24. tıps for git branching model efficient usage of git
  25. 25. Learn git Command Line by heart, stop using GUI
  26. 26. Only few people should be authorize for merging development branch to master branch
  27. 27. ensure that all tests are passing
 before pushing to upstream
  28. 28. do not push half-baked, untested, incomplete, 
 not-compiling, to-be-fixed, not-ready-to-deploy code to git push code. If commit it use write flag WIP !
  29. 29. Never use --m  <message> flag to git commit and Follow Commit message best practices characters or less. That is summary. • First line is 50line • Then a blank text should be wrapped at 72 characters. • Remaining description That is detailed
  30. 30. Branch naming Issue title Issue id number Issue type/issue number/description
  31. 31. Squash commits of bug fix into one and exactly one commit that completely represents that bug fix
  32. 32. Squash commits of your completed story into one commit before pushing to upstream One Task One commit One pull request Please use Commit - - amend
  33. 33. Use .gitıgnore in order not to send irrelevant files never push IDE files or package or binary or temp files
  34. 34. Forking a repository allows you to freely experiment with changes without affecting the original project.
  35. 35. Git pull upstream master - -rebase
  36. 36. do not reset without stashing or committing & tagging
  37. 37. references • A successful Git branching model http://nvie.com/posts/a-successful- git-branching-model/ • Understanding the GitHub Flow https://guides.github.com/introduction/ flow/ • Gitlab workflow https://about.gitlab.com/2014/09/29/gitlab-flow/ • Comparing workflow https://www.atlassian.com/git/tutorials/ comparing-workflows • Semantic Versioning http://semver.org/
  38. 38. Thanks a lot The end