git, youtrack and teamcity - dddsydney 2011
DESCRIPTION
TRANSCRIPT
Git, TeamCity and YouTRACK
A demo of the basic features of integrating alternative options
DVCS …
Distributed Version Control System
DVCS …
no central repository, there may be many
DVCS …
every machine is a master, there is no canonical ‘truth’
DVCS …
every machine stores all information about the repository
DVCS …
resilient, no single point of failure
DVCS …
no network connection is required to work productively
Git …
fast, most operations have zero cost
Git …
small
Git …
operates on snapshots, not on file deltas
Git …
cheap local branching
Git …
your full history at your fingertips
Git …
reliable, all operations are SHA-1 hashed
Git …
merges automatically as the norm, merge failures are exceptional
Git …
tracks file renames and moves reliably, with full history
Git …
easy to learn
Git …
command line based, but numerous visual tools to make some operations easier
Git …
only 20 commands
add, bisect, branch, checkout, clone, commit, diff, fetch, grep, init, log, merge, mv, pull, push, rebase, reset, rm, show, status
Git …
commonly needs no more than 11 of them on a regular basis
add, branch, checkout, commit, diff, log, merge, pull, push, reset, status
Git … simple workflow
git checkout –b myfeature // creates and switches to new branch
<do some work>git add . // moves all changes to staging
git commit –am “did some work on myfeature” // commit to repository
git checkout master // switch back to master
git merge myfeature // merge your feature
git push origin master // push to central repo for CI
Git virtuous cycle …
git pull origin mastergit checkout –b 1002-myfeature <do some work>git add .git commit –am “did some work”git checkout mastergit merge 1002-myfeaturegit push origin master
Git virtuous cycle …
git pull origin mastergit checkout –b 1002-myfeature <do some work>git add .git commit –am “did some work”git checkout mastergit merge 1002-myfeaturegit push origin master
Git virtuous cycle …
git pull origin mastergit checkout –b 1002-myfeature <do some work>git add .git commit –am “did some work”git checkout mastergit merge 1002-myfeaturegit push origin master
To avoid going too far from other developers:
git fetch origin mastergit rebase origin/master
Git demo
TeamCityContinuous Integration for• Fast feedback• Automated test execution• Traceability• Problem Diagnoses• Automated deployment
TeamCity
Clean web based UI, usable by technical and non-technical users
TeamCity
Quick and easy to create new projects, change existing projects, and create templates for future projects
TeamCity
Tight integration with YouTRACK allows YouTRACK to update tasks based on commit messages in TeamCity builds
TeamCity
Platform agnostic, it can build multiple language types and project types
TeamCity
Pulls commits from pretty much any source control system
TeamCity
Allows people to take ownership of broken builds and mark them as under investigation
TeamCityAnd more …
Adaptive test reordering, artifacts stored against builds, build chaining, parallel builds, pre-tested commits, code inspections and code duplicate
reporting, integrated diff, plugins for most IDEs, multiple notification options, integration with
ReSharper, dotCover, Jira, Bugzilla, and integration with Amazon EC2 for on-demand scaling
TeamCity
Free for up to 20 build configurations$299 for additional build agents$1999 for unlimited usage
TeamCity demo
YouTRACK
Issue tracking for:• Features and tasks• Bugs and defects• Project tracking• Traceability
YouTRACK
Simple Web based UI
YouTRACK
Command based concept for working on issues, with extensive keyboard support
YouTRACK
User and project based tagging
YouTRACK
Flexible linking of issues and creating relationships
YouTRACK
Flexible notifications via email or Jabber, closely related modifications are merged to single emails and support threading
YouTRACK
Export of issues to CSV, HTML and via REST API
YouTRACK
Tight integration with TeamCity and Source Control for full issue lifecycle traceability
New Issue Code Commit Build Issue Updatevirtuous cycle
YouTRACK
Free for up to 10 users$249 for 25 users$999 for 100 users
YouTRACK demo