Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to Achieve more through Collaboration

220 views

Published on

Collaboration in the new era
Continuous Integration the Safety Net
How to get Started with Git
The triangular Workflow

Published in: Technology
  • Be the first to comment

How to Achieve more through Collaboration

  1. 1. How to Achieve more through Collaboration Damien Garros | Technical Marketing Engineer
  2. 2. AGENDA 1. Collaboration in the new era 2. Continuous Integration the Safety Net 3. How to get Started with Git 4. The triangular Workflow
  3. 3. Goals and Target of this presentation • Everyone • Non developer People SE, PS, PLM, TME, SM, RE, VP, SVP, Systest, Dev Customers, partner • Explain why Github and CI are not just for developers • Introduce fundamental concepts • Help getting started • Explain how Git works Target Goals Non Goals
  4. 4. Collaboration in the new era
  5. 5. Scripts Code Device configuration Documentation Bug tracker Collaboration is not just Code Ansible Demo JSNAPy Test files Q & A
  6. 6. Scripts Code Device configuration Documentation Bug tracker Everything is moving to Github or Gitlab
  7. 7. Github and Gitlab (@ Juniper) Gitlab / InternalGithub / Public • Cloud service, used by most open source project • Not integrated with Juniper • Hosted internally, accessible only within Juniper • Integrated with Juniper Login • Open Source project to provide Github-like feature https://git.juniper.net/https://github.com/
  8. 8. Why is Git so popular ? GIT Subversion CVS
  9. 9. Why is Git so popular ? Enable Collaboration Across Team Without losing ownership
  10. 10. Collaboration Platforms Git Issue Tracker Docs Wiki Release mgmt Docker Third party Doc Code Coverage Ansible CI/CD Pull Request Stats Build-In Eco system
  11. 11. More than just Git servers
  12. 12. Design for collaboration fork & pull request 1- Fork 2- Change 3- Pull Request 4- Discuss Awesome project github.com/ME/awesome Awesome project github.com/YOU/awesomeupstream I propose to add a green file Approved 5- Merge
  13. 13. 2 names, same things Pull Request == Merge Request
  14. 14. Continuous Integration - The Safety Net -
  15. 15. Continuous Integration, the safety net Travis-CI External tools that will execute some tests for EACH change/commit: 1. Download the project 2. Setup Environment 3. Run tests 4. Report results in Github/GitlabGitlab-CI
  16. 16. Travis CI, Free Cloud Based Solution Travis-CI Cloud Based solution – Nothing to install Free for open-source / public project Very easy to setup
  17. 17. Travis CI – setup language: python python: - 2.7 env: - ANSIBLE_VERSION=1.9.6 - ANSIBLE_VERSION=2.1.0.0 install: - pip install -r requirements.txt - pip install -q ansible==$ANSIBLE_VERSION script: - ansible-playbook pb.generate.variables.yaml - ansible-playbook pb.conf.all.yaml .travis-ci.yaml
  18. 18. Awesome Python Project Travis CI process Awesome Python Project github.com/ME/awesome Awesome Python Project 1.9.6 Awesome Python Project Awesome Python Project 2.1.0 1.9.6 2.1.0
  19. 19. Travis CI – Ansible project
  20. 20. Travis CI - Pyez
  21. 21. A Pull request is the beginning of a discussion • Create Pull request early to discuss the proposal • Changes can be made once the pull request is open • Tests will be executed for each change.
  22. 22. How to get started with Git
  23. 23. Git require training, patience … and practice • Use new concept • Not easy for beginners but totally worth the effort • Lots of resources available Practice, practice, practice
  24. 24. So many learned it already GIT Subversion CVS
  25. 25. LOTS of resources to learn Git Online try.github.io/ Per Topic illustrated Guides to understand main concepts Summary of most important commands with short examples Interactive tools Illustrated Guides Cheat sheet Learn Git in 15 min with Step by Step hands on guide guides.github.com services.github.com/ki t/downloads/github-git- cheat-sheet.pdf
  26. 26. The Triangular Workflow
  27. 27. The Triangular Workflow - Setup Server My Laptop THEM/project ME/project ME/project Fork (GUI) Clone origin github/ME/project upstream github/THEM/project git clone github/ME/project R/O R/W R/W
  28. 28. The Triangular Workflow Contribute Server My Laptop THEM/project ME/project ME/project origin github/ME/project upstream github/THEM/project R/O R/W R/W Commit Change Push origin Pull Request (GUI)
  29. 29. The Triangular Workflow – update/merge Server My Laptop THEM/project ME/project ME/project origin github/ME/project upstream github/THEM/project R/O R/W R/W Merge changes Push originFetch upstream
  30. 30. Thank You

×