Git, YouTrack and TeamCity - DDDSydney 2011

Post on 08-Dec-2014

11.287 views 1 download

Tags:

description

 

Transcript of Git, YouTrack and TeamCity - DDDSydney 2011

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 …flexible workflow

http://bit.ly/9bUvdC

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