SlideShare a Scribd company logo
1 of 21
By :
Gayathiry
1. A very brief introduction to source control
 ◦ What is source control
 ◦ Why we need it
 ◦ How to manage (commands can be used/ things needs
   to be considered before commit)
2.
 ◦   “Hello Jaffna” Compile it and run using command line
 ◦   Development tools and build tools
 ◦   Create project structure with specified archtype
 ◦   Simple maven targets
 ◦   Build and run using maven
3.
 ◦   create account and repository on github
 ◦   Install and setup github
 ◦   fork and clone project
 ◦   pull/push request
4.
 ◦   Fork and clone yshool
 ◦   Pull yschool to local repo
 ◦   Clean and deploy using maven
 ◦   Make some change push it back
   tracks and provides control over changes to
    source code

   Examples :
    •   Github
    •   SVN(Subversion)
    •   CVS
    •   etc
   track files
   Periodically commit
   history will help to collaborate with other
    developers
   merge between other developers
   compare and revert with previous version of
    project/individual files
   Getting and Creating Projects
   Basic Snapshotting
   Branching and Merging
   Sharing and Updating Projects
   Inspection and Comparison
   Make sure that you are working on the latest
    version of a file.
   Check out only what you need.
   Check in promptly.
   Write good check-in comments.
   public class AppTest{

       public static void main(String [] args){
            System.out.println("Hello Jaffna!");
       }
    }
   Compile using command line
    • Javac AppTest.java
    • Java AppTest
   Build process is repetitive process where
    programmer builds the project again and
    again to test the changes in the project code
   Build tools automate the repetitive process
    and allows the programmer to concentrate on
    the project development
   Building in a single click
   Dependency management
   Versioning
   Compile Java code, build jars
   Execute tests and report results, fail build on
    failed tests
   Run quality-check tools
    (PMD, Findbugs, Checkstyles)
   File generation
    (XmlBeans, Xsl, Velocity, AspectJ)
   Property expansion / token substitution
   software project management and
    comprehension tool
    Based on the concept of a project object
    model (POM),
   Maven can manage a project's build,
    reporting and documentation from a central
    piece of information.
   In Maven, an archetype is a template of a
    project which is combined with some user
    input to produce a working Maven project
   mvn archetype:generate -
    DarchetypeArtifactId=maven-archetype-
    webapp -DgroupId=package-name -
    DartifactId=project-name
   Project – Top level
   modelVersion - what version of the object model
    this POM
   groupId - unique identifier of the organization
   artifactId - unique base name of the primary
    artifact/context
   packaging - package type
   version
   name - display name
   url - where the project's site can be found
   description - basic description of your project
   mvn   compile
   mvn   test
   mvn   install
   mvn   package
   mvn   clean

   http://maven.apache.org/guides/getting-
    started/index.html#How_do_I_compile_my_a
    pplication_sources
   git is a distributed version control system
   Is a place where we store our publicly
    available source code for client libraries.
   Getting and Creating Projects
    • Init
    • clone
   Basic Snapshotting
    •   add
    •   status
    •   diff
    •   commit
    •   reset
    •   rm, mv
   Branching and Merging
    •   branch
    •   checkout
    •   merge
    •   log
    •   tag
   Sharing and Updating Projects
    • fetch, pull
    • push
    • remote
   Inspection and Comparison
    • log
    • diff
   Set Up Git
   Add git plugin
    • Download : https://github.com/rishabhsrao/peek-
      into-github/downloads
    • Instruction
      : http://cloud.github.com/downloads/rishabhsrao/
      peek-into-github/README.txt
   Create A Repository
   Fork A Repository
   Created a maven project
   Setup git
   Push that to your account
   Fork and clone and existing project
   Send fetch & pull requests
Session 2

More Related Content

What's hot

Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Mark Waite
 

What's hot (19)

Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache Maven
 
Jenkins
JenkinsJenkins
Jenkins
 
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
An introduction to Maven
An introduction to MavenAn introduction to Maven
An introduction to Maven
 
Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & Beyond
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source tools
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
Maven Nexus
Maven NexusMaven Nexus
Maven Nexus
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven
 
Jenkins
JenkinsJenkins
Jenkins
 
Automated Deployment with Maven - going the whole nine yards
Automated Deployment with Maven - going the whole nine yardsAutomated Deployment with Maven - going the whole nine yards
Automated Deployment with Maven - going the whole nine yards
 
Gradle: One technology to build them all
Gradle: One technology to build them allGradle: One technology to build them all
Gradle: One technology to build them all
 

Viewers also liked (8)

Keagen Mathiew Koch Slide Show
Keagen Mathiew Koch Slide ShowKeagen Mathiew Koch Slide Show
Keagen Mathiew Koch Slide Show
 
Markologis
MarkologisMarkologis
Markologis
 
Session 2
Session 2Session 2
Session 2
 
India Presentation 1
India Presentation 1India Presentation 1
India Presentation 1
 
Warsaw
WarsawWarsaw
Warsaw
 
Code.Group
Code.GroupCode.Group
Code.Group
 
Article On Green Field Project
Article On Green Field ProjectArticle On Green Field Project
Article On Green Field Project
 
India Presentation
India PresentationIndia Presentation
India Presentation
 

Similar to Session 2

Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
Kalkey
 

Similar to Session 2 (20)

Maven
MavenMaven
Maven
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
 
Java Build Tools
Java Build ToolsJava Build Tools
Java Build Tools
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoft
 
Devops
DevopsDevops
Devops
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
CICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewCICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overview
 
BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with Maven
 
Version Control and Continuous Integration
Version Control and Continuous IntegrationVersion Control and Continuous Integration
Version Control and Continuous Integration
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Agile Software Development & Tools
Agile Software Development & ToolsAgile Software Development & Tools
Agile Software Development & Tools
 
Introduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldIntroduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS world
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Session 2

  • 2. 1. A very brief introduction to source control ◦ What is source control ◦ Why we need it ◦ How to manage (commands can be used/ things needs to be considered before commit) 2. ◦ “Hello Jaffna” Compile it and run using command line ◦ Development tools and build tools ◦ Create project structure with specified archtype ◦ Simple maven targets ◦ Build and run using maven
  • 3. 3. ◦ create account and repository on github ◦ Install and setup github ◦ fork and clone project ◦ pull/push request 4. ◦ Fork and clone yshool ◦ Pull yschool to local repo ◦ Clean and deploy using maven ◦ Make some change push it back
  • 4. tracks and provides control over changes to source code  Examples : • Github • SVN(Subversion) • CVS • etc
  • 5. track files  Periodically commit  history will help to collaborate with other developers  merge between other developers  compare and revert with previous version of project/individual files
  • 6. Getting and Creating Projects  Basic Snapshotting  Branching and Merging  Sharing and Updating Projects  Inspection and Comparison
  • 7. Make sure that you are working on the latest version of a file.  Check out only what you need.  Check in promptly.  Write good check-in comments.
  • 8. public class AppTest{ public static void main(String [] args){ System.out.println("Hello Jaffna!"); } }  Compile using command line • Javac AppTest.java • Java AppTest
  • 9. Build process is repetitive process where programmer builds the project again and again to test the changes in the project code  Build tools automate the repetitive process and allows the programmer to concentrate on the project development  Building in a single click
  • 10. Dependency management  Versioning  Compile Java code, build jars  Execute tests and report results, fail build on failed tests  Run quality-check tools (PMD, Findbugs, Checkstyles)  File generation (XmlBeans, Xsl, Velocity, AspectJ)  Property expansion / token substitution
  • 11. software project management and comprehension tool  Based on the concept of a project object model (POM),  Maven can manage a project's build, reporting and documentation from a central piece of information.
  • 12. In Maven, an archetype is a template of a project which is combined with some user input to produce a working Maven project  mvn archetype:generate - DarchetypeArtifactId=maven-archetype- webapp -DgroupId=package-name - DartifactId=project-name
  • 13. Project – Top level  modelVersion - what version of the object model this POM  groupId - unique identifier of the organization  artifactId - unique base name of the primary artifact/context  packaging - package type  version  name - display name  url - where the project's site can be found  description - basic description of your project
  • 14.
  • 15. mvn compile  mvn test  mvn install  mvn package  mvn clean  http://maven.apache.org/guides/getting- started/index.html#How_do_I_compile_my_a pplication_sources
  • 16. git is a distributed version control system  Is a place where we store our publicly available source code for client libraries.
  • 17. Getting and Creating Projects • Init • clone  Basic Snapshotting • add • status • diff • commit • reset • rm, mv
  • 18. Branching and Merging • branch • checkout • merge • log • tag  Sharing and Updating Projects • fetch, pull • push • remote  Inspection and Comparison • log • diff
  • 19. Set Up Git  Add git plugin • Download : https://github.com/rishabhsrao/peek- into-github/downloads • Instruction : http://cloud.github.com/downloads/rishabhsrao/ peek-into-github/README.txt  Create A Repository  Fork A Repository
  • 20. Created a maven project  Setup git  Push that to your account  Fork and clone and existing project  Send fetch & pull requests