Processes & tooling to develop the editor

12
© INNOVEO SOLUTIONS AG / Developing skye editor Processes and Tooling 30.04.2013 Laurent Kempé

Transcript of Processes & tooling to develop the editor

Page 1: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /

Developing skye editorProcesses and Tooling30.04.2013 Laurent Kempé

Page 2: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 2

Git refresh What is Git

Git Benefits

Skye Editor Process Tooling Git Demo Next

02 AGENDA /

Page 3: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 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

Page 4: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 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

Page 5: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 5

03 SKYE EDITOR PROCESS /

Jira Ticket

OK?

Git Feature Branch QA

Start progress Feature Editor build

DevelopNo

Pull Request

Yes

Distribute to Team

Feedback

Close

Pre-Release Editor build

• Parallel work• Asynchronous communication• Short feedback loop• Shippable after each backlog

Page 6: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 6

Atlassian, JetBrains, Github, Innoveo

04 TOOLING /SUPPORTING OUR PROCESS

Page 7: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 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

Page 8: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 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

Page 9: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 9

ProjectsBrowsing filesCommitsPull Request

07 STASH /

Page 10: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 10

Centralize the communication Automate processes

08 HIPCHAT & HUBOT /

Page 11: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 11

Command line Local feature branch Commit and show TeamCity integration Interactive rebase Push Bisect

GitextensionsSourcetree Intellij

09 GIT /

Page 12: Processes & tooling to develop the editor

© INNOVEO SOLUTIONS AG /12 April 2023 12

10 NEXT /YOUR TURN

TAKE ACTION!!!