SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Git+Jenkins+Rex



just another git+jenkins+rex presentation

        By: ruckuus@gmail.com
What is Git?
●   It's a history tracker
What is Github?
●   http://learn.github.com/p/intro.html
What Is Jenkins?
●   You can let Jenkins type for you the way you
    want it to be
Git+Jenkins
●   Just like SVN+Jenkins
●   Authentication
    –   Public key: /home/user/.ssh/id_rsa.pub
    –   Private key: /home/user.ssh/id_rsa
Git from developer PoV
●   Get the working copy
      git clone git@github.com:twitter/bootstrap.git
      git clone https://github.com/twitter/bootstrap.git
      git clone git://github.com/twitter/bootstrap.git
●   Select branch
      git checkout master
●   Create a new working branch
      git checkout -b PRODUCTBACKLOG-2000 master
      git checkout -b <NEW_BRANCH> <REFERENCE_BRANCH>
      git checkout -b <NEW_BRANCH> #default is current branch
Git from developer PoV
●   Commit changes
     git commit
     git commit -m
     git commit -a -s

●   Rebase
     “Put your local changes as the latest changes from
     the rebasee branch on your local working copy”
Rebase
●   Put your local changes as the latest changes
    of the universe.
    –   You have the latest status of the collaboration
        branch.
    –   Your change is just an addition, won't conflict to
        others'.
    –   Safer than merge
    –   http://mislav.uniqpath.com/2013/02/merge-vs-
        rebase/
Rebase Mechanics
Git from Jenkins PoV
●   Our Jenkins deploys from feature branch, NOT
    from integration branch
●   Not from master
●   Not from origin/master
●   Why? We need it
●   We don't maintain build history since the
    branch is inconsistent in every build
Git from Jenkins PoV
●   Build is parameterized
     –   Branch's name
     –   Target server

●   Always checkout a new copy
●   git checkout -b b-XyZ-PRODUCTBACKLOG-2000 origin/PRODUCTBACKLOG-2000
●   Build
●   Deploy to target server
Rex
●   An instrument to build and deploy
●   We have several groups of servers
    –   They have different purpose
    –   Different version of code
    –   Different user
●   http://rexify.org
●   deploy/Rexfile
How To Rex?
●   rex -T
●   rex -E integration do_deploy –target=platform
●   rex -E staging do_deploy –target=th
●   Relax, it's all done by Jenkins.

Más contenido relacionado

La actualidad más candente

MongoDB backup service overview Boston MUG
MongoDB backup service overview Boston MUGMongoDB backup service overview Boston MUG
MongoDB backup service overview Boston MUG
MongoDB
 

La actualidad más candente (20)

Writing a fast HTTP parser
Writing a fast HTTP parserWriting a fast HTTP parser
Writing a fast HTTP parser
 
Celery workshop
Celery workshopCelery workshop
Celery workshop
 
Making your first contribution to Foreman
Making your first contribution to ForemanMaking your first contribution to Foreman
Making your first contribution to Foreman
 
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
 Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ... Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
 
Docker Practical Use Cases
Docker Practical Use CasesDocker Practical Use Cases
Docker Practical Use Cases
 
MongoDB backup service overview Boston MUG
MongoDB backup service overview Boston MUGMongoDB backup service overview Boston MUG
MongoDB backup service overview Boston MUG
 
Working Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams ProductiveWorking Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams Productive
 
Docker - Dicas ninjas - MolaTech Talks
Docker - Dicas ninjas -  MolaTech TalksDocker - Dicas ninjas -  MolaTech Talks
Docker - Dicas ninjas - MolaTech Talks
 
Clack: glue for web apps
Clack: glue for web appsClack: glue for web apps
Clack: glue for web apps
 
.NET Core in the Real World
.NET Core in the Real World.NET Core in the Real World
.NET Core in the Real World
 
The New Frontend Toolchain
The New Frontend ToolchainThe New Frontend Toolchain
The New Frontend Toolchain
 
Woo: Writing a fast web server
Woo: Writing a fast web serverWoo: Writing a fast web server
Woo: Writing a fast web server
 
"Wix Serverless from inside", Mykola Borozdin
"Wix Serverless from inside", Mykola Borozdin"Wix Serverless from inside", Mykola Borozdin
"Wix Serverless from inside", Mykola Borozdin
 
About Clack
About ClackAbout Clack
About Clack
 
Mongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam HelmanMongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam Helman
 
Tuenti Release Workflow
Tuenti Release WorkflowTuenti Release Workflow
Tuenti Release Workflow
 
How go makes us faster (May 2015)
How go makes us faster (May 2015)How go makes us faster (May 2015)
How go makes us faster (May 2015)
 
When Tools Attack
When Tools AttackWhen Tools Attack
When Tools Attack
 
Scalable Web Apps
Scalable Web AppsScalable Web Apps
Scalable Web Apps
 
Developing and Testing with Enhanced Oscar
Developing and Testing with Enhanced OscarDeveloping and Testing with Enhanced Oscar
Developing and Testing with Enhanced Oscar
 

Destacado

Destacado (6)

Opinionated continuous delivery
Opinionated continuous deliveryOpinionated continuous delivery
Opinionated continuous delivery
 
Transforming PropertyGuru's Delivery Pipeline
Transforming PropertyGuru's Delivery PipelineTransforming PropertyGuru's Delivery Pipeline
Transforming PropertyGuru's Delivery Pipeline
 
Qemu + Busybox Tutorial
Qemu + Busybox TutorialQemu + Busybox Tutorial
Qemu + Busybox Tutorial
 
How do i change my sysadmin mindset
How do i change my sysadmin mindsetHow do i change my sysadmin mindset
How do i change my sysadmin mindset
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar a Git+jenkins+rex presentation

GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
siva ram
 
Server Development Workflow For PicCollage
Server Development Workflow For PicCollageServer Development Workflow For PicCollage
Server Development Workflow For PicCollage
Lin Jen-Shin
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
Robert Lee-Cann
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
Mythri P K
 

Similar a Git+jenkins+rex presentation (20)

Git
GitGit
Git
 
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
Microservices Development Process at Predix.io
Microservices Development Process at Predix.ioMicroservices Development Process at Predix.io
Microservices Development Process at Predix.io
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
 
Server Development Workflow For PicCollage
Server Development Workflow For PicCollageServer Development Workflow For PicCollage
Server Development Workflow For PicCollage
 
版本控制Git
版本控制Git版本控制Git
版本控制Git
 
git Technologies
git Technologiesgit Technologies
git Technologies
 
Git
GitGit
Git
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
.Git for WordPress Developers
.Git for WordPress Developers.Git for WordPress Developers
.Git for WordPress Developers
 
The Fundamentals of Git
The Fundamentals of GitThe Fundamentals of Git
The Fundamentals of Git
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.org
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
GIT.pptx
GIT.pptxGIT.pptx
GIT.pptx
 
Git tips
Git tipsGit tips
Git tips
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 

Git+jenkins+rex presentation

  • 1. Git+Jenkins+Rex just another git+jenkins+rex presentation By: ruckuus@gmail.com
  • 2. What is Git? ● It's a history tracker
  • 3. What is Github? ● http://learn.github.com/p/intro.html
  • 4. What Is Jenkins? ● You can let Jenkins type for you the way you want it to be
  • 5. Git+Jenkins ● Just like SVN+Jenkins ● Authentication – Public key: /home/user/.ssh/id_rsa.pub – Private key: /home/user.ssh/id_rsa
  • 6. Git from developer PoV ● Get the working copy git clone git@github.com:twitter/bootstrap.git git clone https://github.com/twitter/bootstrap.git git clone git://github.com/twitter/bootstrap.git ● Select branch git checkout master ● Create a new working branch git checkout -b PRODUCTBACKLOG-2000 master git checkout -b <NEW_BRANCH> <REFERENCE_BRANCH> git checkout -b <NEW_BRANCH> #default is current branch
  • 7. Git from developer PoV ● Commit changes git commit git commit -m git commit -a -s ● Rebase “Put your local changes as the latest changes from the rebasee branch on your local working copy”
  • 8. Rebase ● Put your local changes as the latest changes of the universe. – You have the latest status of the collaboration branch. – Your change is just an addition, won't conflict to others'. – Safer than merge – http://mislav.uniqpath.com/2013/02/merge-vs- rebase/
  • 10. Git from Jenkins PoV ● Our Jenkins deploys from feature branch, NOT from integration branch ● Not from master ● Not from origin/master ● Why? We need it ● We don't maintain build history since the branch is inconsistent in every build
  • 11. Git from Jenkins PoV ● Build is parameterized – Branch's name – Target server ● Always checkout a new copy ● git checkout -b b-XyZ-PRODUCTBACKLOG-2000 origin/PRODUCTBACKLOG-2000 ● Build ● Deploy to target server
  • 12. Rex ● An instrument to build and deploy ● We have several groups of servers – They have different purpose – Different version of code – Different user ● http://rexify.org ● deploy/Rexfile
  • 13. How To Rex? ● rex -T ● rex -E integration do_deploy –target=platform ● rex -E staging do_deploy –target=th ● Relax, it's all done by Jenkins.