Introduction to
Git(BitBucket) , Continuous Integration
(Bamboo) & Confluence
By,
Parag Gajbhiye
(Our software helps your ...
Git
A distributed version control system
Version control (or revision control, or
source control) is all about managing
mu...
Bitbucket
●
Unlimited Private Repositories
●
Work as a Team
●
JIRA Integration : Link every commit to a
JIRA
●
Fork, Code,...
Why version control?
● For working by yourself:
• Gives you a “time machine” for going back to
earlier versions
• Gives yo...
The repository
● Your top-level working directory contains everything
about your project
● The working directory probably ...
Working with others
All repositories are equal, but it is convenient to have one
central repository in the cloud
● Here’s ...
Multiple versions
Initial commit
Second commit
Third commit
Bob gets a copy
Fourth commit
Merge
Bob’s commit
Keeping it simple
If you:
• Make sure you are current with the central repository
• Make some improvements to your code
• ...
Continuous Integration (Bamboo)
Continuous Integration is a software
development practice where members of a
team integrat...
What is “integration” ?
● At a minimum:
• Gather latest source together
• Compile
• Execute tests
• Verify success
How often is continuously?
➔ As frequently as possible
➔ More like once per hour than once per day
➔ Before leaving at the...
When to integrate?
 Implement just enough, then integrate
 If using Test Driven Development, it forms
a natural break in...
Why?
 Increased automation
 Don’t repeat yourself - automate to increase
speed and to make less mistakes
 Regular feedb...
Automated CI
 Automated Continuous Integration Server
 CruiseControl, CruiseControl.NET,
TeamCity, Bamboo, etc.
 Detect...
How does Automated CI Work?
Why use Automated CI?
 Makes integration easy
 Guarantees integration happens
 Better feedback options
 Encourages tes...
Bamboo
Confluence
Give your team one place to share, find, and
collaborate on information they need to get
work done.
Centralize
Organize
Discuss
Jira Integration
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Upcoming SlideShare
Loading in …5
×

Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence

4,503 views

Published on

Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,503
On SlideShare
0
From Embeds
0
Number of Embeds
118
Actions
Shares
0
Downloads
139
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence

  1. 1. Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence By, Parag Gajbhiye (Our software helps your team track, collaborate, code, and ship products – smarter and faster : Atlassian)
  2. 2. Git A distributed version control system Version control (or revision control, or source control) is all about managing multiple versions of documents, programs, web sites, etc. Bitbucket : Git and Mercurial Hosting For Teams
  3. 3. Bitbucket ● Unlimited Private Repositories ● Work as a Team ● JIRA Integration : Link every commit to a JIRA ● Fork, Code, Pull ● Key Integrations : JIRA, Crucible, Bamboo, Jenkins, and more!
  4. 4. Why version control? ● For working by yourself: • Gives you a “time machine” for going back to earlier versions • Gives you great support for different versions (standalone, web app, etc.) of the same basic project ● For working with others: Greatly simplifies concurrent work, merging changes
  5. 5. The repository ● Your top-level working directory contains everything about your project ● The working directory probably contains many subdirectories—source code, binaries, documentation, data files, etc. ● One of these subdirectories, named .git, is your repository • At any time, you can take a “snapshot” of everything (or selected things) in your project directory, and put it in your repository • This “snapshot” is called a commit object Commit objects do not require huge amounts of memory You can work as much as you like in your working directory, but the repository isn’t updated until you commit something
  6. 6. Working with others All repositories are equal, but it is convenient to have one central repository in the cloud ● Here’s what you normally do: • Download the current HEAD from the central repository • Make your changes • Commit your changes to your local repository • Check to make sure someone else on your team hasn’t updated the central repository since you got it • Upload your changes to the central repository ● If the central repository has changed since you got it: • It is your responsibility to merge your two versions This is a strong incentive to commit and upload often! Git can often do this for you, if there aren’t incompatible changes
  7. 7. Multiple versions Initial commit Second commit Third commit Bob gets a copy Fourth commit Merge Bob’s commit
  8. 8. Keeping it simple If you: • Make sure you are current with the central repository • Make some improvements to your code • Update the central repository before anyone else does • Then you don’t have to worry about resolving conflicts or working with multiple branches All the complexity in git comes from dealing with these Therefore: Make sure you are up-to-date before starting to work Commit and update the central repository frequently If you need help: https://help.github.com/
  9. 9. Continuous Integration (Bamboo) Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.“
  10. 10. What is “integration” ? ● At a minimum: • Gather latest source together • Compile • Execute tests • Verify success
  11. 11. How often is continuously? ➔ As frequently as possible ➔ More like once per hour than once per day ➔ Before leaving at the end of the day
  12. 12. When to integrate?  Implement just enough, then integrate  If using Test Driven Development, it forms a natural break in the cycle  Taking small steps Code Refactor Integrate Test
  13. 13. Why?  Increased automation  Don’t repeat yourself - automate to increase speed and to make less mistakes  Regular feedback  For the integrator : “Did that work?”  For the rest of the team : “Is the build OK?”  Reduces Risk overall
  14. 14. Automated CI  Automated Continuous Integration Server  CruiseControl, CruiseControl.NET, TeamCity, Bamboo, etc.  Detects changes in source control  Launches integration build  Publishes results
  15. 15. How does Automated CI Work?
  16. 16. Why use Automated CI?  Makes integration easy  Guarantees integration happens  Better feedback options  Encourages test automation  Immediate Feedback is Key
  17. 17. Bamboo
  18. 18. Confluence Give your team one place to share, find, and collaborate on information they need to get work done.
  19. 19. Centralize
  20. 20. Organize
  21. 21. Discuss
  22. 22. Jira Integration

×