More Related Content
Similar to Processes & tooling to develop the editor
Similar to Processes & tooling to develop the editor (20)
Processes & tooling to develop the editor
- 1. © INNOVEO SOLUTIONS AG /
Developing skye editor
Processes and Tooling
30.04.2013
Laurent Kempé
- 2. © INNOVEO SOLUTIONS AG /01 May 2013 2
Git refresh
What is Git
Git Benefits
Skye Editor Process
Tooling
Git Demo
Next
02 AGENDA /
- 3. © INNOVEO SOLUTIONS AG /01 May 2013 3
Distributed Version Control System
Decentralized but centralized
central “truth” repo
2 Phase commit
Cheap and easy branches
and pain-free merges
Git, Mercurial…
01 WHAT IS GIT /
OVERVIEW
- 4. © INNOVEO SOLUTIONS AG /01 May 2013 4
Two phase commit
Stage/Commit, Push
Local history / branching
No connection to central repo needed to branch/to look at history
Smarter Merging
Git‟s focus on file content rather than file location
Better at resolving merge conflicts for you (e.g. renames)
Branching/Merging is daily workflow no anymore an „exceptional case‟
Experiment / Refactoring / Spikes
Commit changes on one path, if wrong rollback
Stash changes
Rebase / Rewriting history
Until push you can use interactive rebase
02 GIT BENEFITS /
AS A DEVELOPER
- 5. © INNOVEO SOLUTIONS AG /01 May 2013 5
03 SKYE EDITOR PROCESS /
Jira Ticket
OK?
Git Feature
Branch QA
Start progress Feature Editor build
Develop
No
Pull Request
Yes
Distribute to
Team
Feedback
Close
Pre-Release Editor build
• Parallel work
• Asynchronous communication
• Short feedback loop
• Shippable after each backlog
- 6. © INNOVEO SOLUTIONS AG /01 May 2013 6
Atlassian, JetBrains, Github, Innoveo
04 TOOLING /
SUPPORTING OUR PROCESS
- 7. © INNOVEO SOLUTIONS AG /01 May 2013 7
Start progress on jira
Git branch –a & Git lg
Create a feature branch SKYE-718-ProcessesToolingDemo
Commit
Rebase -i
Push –u origin SKYE-718-ProcessesToolingDemo
TeamCity & Dropbox builds
HipChat Git and TeamCity integration
Stash build status
Skye editor build
Create a merge branch for SKYE-718-MERGE-ProcessesToolingDemo for Pull Request
Stash
Commits
Browsing files
Pull request
Projects
TeamCity & GitExtensions result of Pull Request
Git bisect
05 DEMO/
WHOLE ROUNDTRIP DEMO
- 8. © INNOVEO SOLUTIONS AG /01 May 2013 8
Git Feature branches
Monitors a set of branches
Reduce management pain
06 TEAM CITY /
Continuous Integration Feature
Branches
Continuous Integration Master Branch Manual Release
•Monitor and build on Feature branches
•Build & publish in Release compilation Mode
•Publish artifact with a version 9.9.9.x to
Feature folder
•Monitor and build on Master branch
•Build & publish in Release compilation Mode
•Publish artifact with a version 2.26.0.x to
Development folder
•No monitoring only manual
•No compilation
•Copy artifact with a version 2.26.0.x from
Development folder to Release folder
•Tag release in Git
- 9. © INNOVEO SOLUTIONS AG /01 May 2013 9
Projects
Browsing files
Commits
Pull Request
07 STASH /
- 10. © INNOVEO SOLUTIONS AG /01 May 2013 10
Centralize the communication
Automate processes
08 HIPCHAT & HUBOT /
- 11. © INNOVEO SOLUTIONS AG /01 May 2013 11
Command line
Local feature branch
Commit and show TeamCity integration
Interactive rebase
Push
Bisect
Gitextensions
Sourcetree
Intellij
09 GIT /
Editor's Notes
- Be asynchronous - http://zachholman.com/posts/how-github-works-asynchronous/