Build and Release Trainer, Instructor, Mentor and Coaches in Bangalore

build-and-release-trainer-in-bangalore

Upcoming Training Dates | Training Agenda | Training Calender | FAQ | Why scmGalaxy Online Training

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Contact us at info@scmGalaxy.com

Jenkins Training

Build and Release Training | SCM Training

Continuous Integration Training

Build and Release Training in Bangalore

Build and Release Training In Bangalore | Build and Release Training in India | Build and Release Training in Hyderabad | Build and Release Training in Delhi | Build and Release Training in Pune | Build and Release Trainer In Bangalore | Build and Release Trainer in India | Build and Release Trainer in Hyderabad | Build and Release Trainer in Delhi | Build and Release Trainer in Pune

Tagged : / / / / / / / / / / /

Build and Release Training in Bangalore

build-and-release-training-in-bangalore

Upcoming Training Dates | Training Agenda | Training Calender | FAQ | Why scmGalaxy Online Training

 

Click Here


Mode – Online

Lab Setup Details OR Prerequisites for personal Laptop

Operating Systems – Windows 7 or Linux (RHEL 7.X or Ubantu)
JDK 1.7 or Higher,
SCM Tool Client and server Installed (SVN, GIT, Perforce)

Send us an email to info@scmgalaxy.com with the confirmed payment receipt for acknowledgement

Free Lunch would be serve to all Participants.
Registration is based on First Come basis and only confirmed registration would be considered.

  1. What is Software Configuration Management
  2. What is Build and Release Engineering
  3. Introduction of Version Control Management?
  4. Basic usage of Subversion
  5. Basic usage of git
  6. Introduction of Build Management?
  7. How to write ant script?
  8. How to write Maven script?
  9. How to write MSBuild Script?
  10. Introduction of Release Management?
  11. Benefit of Continuous Integration?
  12. Different Continuous Integration Tools?
  13. Focus on Jenkins
  14. Installation and Setup of Jenkinks
  15. Configure a Job to Build the Project using SVN /GIT and ANT/Maven
  16. Using Build Script (Ant, Maven and MSBuild) with Jenkins
  17. Authentication and Authorization in Jenkins
  18. Lab and Assignment
  19. Nodes Setup in Jenkins
  20. Labels, Tags and Notification using Jenkins
  21. Empowered with Plugins in Jenkins
  22. 20 Popular Plugins and Their Usage
  23. Integrating Jenkins with Junit for automated testing
  24. Integrating Jenkins with HP-QC for automated testing
  25. Integrating Jenkins with Cobertura for test Coverage
  26. Integrating Jenkins with Sonar for static code analysis
  27. Release and Deployments using Jenkins and Nexus
  28. Advance Jenkins
  29. Jenkins Scripting
  30. Jenkins Command line
  31. Reporting and Dashboard using Jenkins
  32. Lab and Assignment

Build and Release Training In Bangalore | Build and Release Training in India | Build and Release Training in Hyderabad | Build and Release Training in Delhi | Build and Release Training in Pune | Build and Release Trainer In Bangalore | Build and Release Trainer in India | Build and Release Trainer in Hyderabad | Build and Release Trainer in Delhi | Build and Release Trainer in Pune

Tagged : / / / / / / / / / / / / / / /

AnthillPro Training | AnthillPro Course | Online | Classroom | India

anthillpro-training

Course Summary

AnthillPro automates the process of building code into software projects and testing it to verify that project quality has been maintained. This course will teach students the processes needed for building a project, setting up a Continuous Integration build, deploying artifacts, and integrating third-party tools. The students will learn to identify bugs and errors using AnthillPro to track, collate, and test changes in real time to a collectively maintained body of computer code.

Topics Covered In This Course

Concepts

  • About AnthillPro
  • Projects
  • Workflows
  • Jobs
  • Build Concepts
  • Dependencies and Artifacts
  • Environments
  • Life-Cycle Models

Getting Started

  • Setting Up a Build Process
  • Setting Up a Continuous Integration Build
  • Setting Up a Deployment Process
  • Integrating Other Tools Into Processes

Installation

  • Installing AnthillPro
  • Unattended Agent Installation Scripts
  • Installing Distributed Servers

Upgrade

  • Upgrading AnthillPro
  • Upgrading Distributed Servers
  • What’s New in AnthillPro

Security

  • Setting Up Security
  • Perform Security Audits
  • Securing Artifact Sets
  • Set Up and Manage Guest Users

Schedules

  • Overview
  • Create Schedules

Reporting

  • Reporting Basics
  • Complex reports

Dependency Management

  • Overview
  • Configure Dependencies
  • Using Codestation Projects
  • Configure Dependencies Tutorial

Advanced Authoring

  • Managing Projects
  • Managing Workflows
  • Managing Jobs
  • Reusing Workflow Definitions and Jobs
  • Managing Life-Cycle Models
  • Managing Notifications
  • Managing Properties
What You Can Expect

At the end of the course, students will be able to:

  • Understand the installation process
  • To set up AnthillPro
  • Understand how to begin project creation
  • Use customizations
  • Use AnthillPro to perform continuous integration
Training Style

Lecture (50%) / Workshop (50%)

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Contact us at info@scmGalaxy.com

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.

Course Schedule
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.

Audience
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.

Approach
The course is modular and flexible – depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions
We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.

Lab Work
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.

Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.

Contact Us
This course is provided on-site, and can be tailored to your particular requirements. If you would like our trainings delivered at your premises, or for any additional information please contact us. Please email us at info@scmGalaxy.com | Call – +91 700 483 5930 | Skype – scmGalaxy

Tagged : / / / / / / / / / / / / / / / /

Apache Ant Training | Apache Ant Course | Online | Classroom | India

apache-ant-training

Course SummaryThis course introduces Ant and how to use it for test-driven Java application development. A single application of increasing complexity, followed throughout the class, shows how an application evolves and how to handle the problems of building and testing. Coverage of large-projects, Ant’s advanced features, and the details and depth of the discussion-all unavailable elsewhere is included in the course. Advanced topics include how to manage large projects, Library management, Enterprise Java Continuous integration, Deployment, writing new Ant tasks and data types.

opics Covered In This Course

Introduction

  • What is Ant?
  • What makes Ant so special?
  • When to use Ant
  • When not to use Ant
  • Alternatives to Ant

A First Ant build

  • Defining the first project
  • Step zero: creating the project directory
  • Step one: verifying the tools are in place
  • Step two: writing your first Ant build file
  • Step three: running your first build
  • Step four: imposing structure
  • Step five: running our program
  • Ant command-line options
  • Examining the final build file
  • Running the build under an IDE

Understanding Ant Datatypes and Properties

  • Preliminaries
  • Introducing datatypes and properties with
  • Paths
  • Filesets
  • Selectors
  • Additional Ant datatypes
  • Properties
  • Controlling Ant with properties
  • References
  • Managing library dependencies
  • Resources: Ant?s secret data model
  • Best practices

Testing with JUnit

  • What is testing, and why do it?
  • Introducing the application
  • How to test a program
  • Introducing JUnit
  • The JUnit task:
  • Generating HTML test reports
  • Advanced techniques
  • Best practices

Packaging Projects

  • Working with files
  • Introducing mappers
  • Modifying files as you go
  • Preparing to package
  • Creating JAR files
  • Testing with JAR files
  • Creating Zip files
  • Packaging for Unix
  • Working with resources

Executing Programs

  • Running programs under Ant?an introduction
  • Running native programs
  • Advanced and
  • Bulk operations with
  • Best practices

Distributing an Application

  • Preparing for distribution
  • FTP-based distribution of a packaged application
  • Email-based distribution of a packaged application
  • Secure distribution with SSH and SCP
  • HTTP download
  • Distribution over multiple channels

Putting It All Together

  • How to write good build files
  • Building the diary library
  • Adopting Ant
  • Building an existing project under Ant

Beyond Ant?s Core Tasks

  • The many different categories of Ant tasks
  • Installing optional tasks
  • Optional tasks in action
  • Software configuration management under Ant
  • Using third-party tasks
  • The Ant-contrib tasks
  • Code auditing with Checkstyle

Working with Big Projects

  • Master builds: managing large projects
  • Controlling child project builds
  • Advanced delegation
  • Inheriting build files through
  • Applying
  • Ant?s macro facilities
  • Writing macros with

Managing Dependencies

  • Introducing Ivy
  • Installing Ivy
  • Resolving, reporting, and retrieving
  • Working across projects with Ivy

Developing for the Web

  • Developing a web application
  • Building the WAR file
  • Deployment
What You Can Expect

At the end of the course, students will be able to:

  • Understand Ant
  • Install Ant
  • Understand Ant concepts and terminologies
  • Work with embedded properties and external properties using properties files
  • Integrate ANT into their IDE
  • Use Ant in Business Applications
  • Understand Ant Tasks
  • Automate their build and testing through Ant tasks
  • Use Ant for automated deployment
  • Create Custom Ant tasks
Who Should Take This Course

This course is designed for Build Engineers and Developers working on projects that use Ant as an automated build tool.

Training Style

Lecture (50%) / Workshop (50%)

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Contact us at info@scmGalaxy.com

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.

Course Schedule
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.

Audience
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.

Approach
The course is modular and flexible – depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions
We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.

Lab Work
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.

Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.

Contact Us
This course is provided on-site, and can be tailored to your particular requirements. If you would like our trainings delivered at your premises, or for any additional information please contact us. Please email us at info@scmGalaxy.com | Call – +91 700 483 5930 | Skype – scmGalaxy

Tagged : / / / / / / / / / / / / / / / / / /

PowerShell Training | PowerShell Course | Online | Classroom | India

powershell-training

PowerShell for Developers
This course is about the stuff you do everyday – working with code and Visual Studio, source control, building software, etc – and how you can apply PowerShell to make these things easier on you.

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Contact us at info@scmGalaxy.com

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.

Course Schedule
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.

Audience
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.

Approach
The course is modular and flexible – depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions
We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.

Lab Work
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.

Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.

Contact Us
This course is provided on-site, and can be tailored to your particular requirements. If you would like our trainings delivered at your premises, or for any additional information please contact us. Please email us at info@scmGalaxy.com | Call – +91 700 483 5930 | Skype – scmGalaxy

Course outline

The basic course program is outlined here:

Overview and PowerShell Primer

  1. Overview
  2. PowerShell Environments
  3. Expressions and Variables
  4. Flow Control
  5. Discover Stuff using Help
  6. Finding Commands and Making Mistakes
  7. Pipelines
  8. Members, Where-Object, and Foreach-Object
  9. Scripts and Execution Policy
  10. Module Summary
  11. Get-Help

Cutting Corners in Windows Explorer

  1. PowerShell and .NET
  2. Location, Location, Location
  3. PowerShell Drives
  4. The Item Cmdlets
  5. Invoke-Item
  6. Demo: Push-Project
  7. Functions
  8. Profiles
  9. Profiles and Hosts
  10. Push-Project Summary
  11. Module Summary
  12. Get-Help

Using .NET From PowerShell

  1. PowerShell and .NET
  2. Creating Objects
  3. Referencing Types
  4. Using Static Members
  5. Using Instance Members
  6. Handling Events
  7. More Handling Events
  8. Loading Assemblies
  9. Summary
  10. Demo: Sandbagging Automation
  11. The convertTo-Sandbags.ps1 Script
  12. Demo: Sandbagging Automation Revisited
  13. Get-Help

Creating a Rich Mercurial Environment in PowerShell

  1. PowerShell Commands vs. Console Applications
  2. Using Console Applications in PowerShell
  3. Demo: Capturing Commands as PowerShell Functions
  4. Supporting Pipeline Operations in Functions
  5. Customizing the PowerShell Prompt
  6. Demo: A Mercurial-Aware Prompt
  7. Demo: Automating Bisections – Introduction
  8. Demo: Automating Bisections – The Find-HgChangeset Function
  9. Demo: The Hg PowerShell Module
  10. Module Summary
  11. Get-Help

Expanding PowerShell with Existing Modules

  1. A Toast … to PowerShell Modules!
  2. Where You Find PowerShell Modules
  3. Useful Modules for Software Developers
  4. Demo: Module Discovery
  5. Demo: Manual Module Installation
  6. Module Summary
  7. Get-Help

Automating Builds with Psake

  1. The nature of the Build
  2. Installing Psake
  3. Creating a Psake Build Script
  4. Running a Psake Build Script
  5. Documenting a Psake Build Script
  6. Building Visual Studio Projects
  7. Tangent: Why Psake > MSBuild
  8. Demo: The PackageZip Task
  9. Demo: Configuring the Build
  10. Demo: Running Psake Builds in TeamCity
  11. Module Summary
  12. Get-Help

Automating Visual Studio with StudioShell

  1. Introducing StudioShell
  2. Exploring Visual Studio Features with StudioShell
  3. Demo: Configuring Window Layouts
  4. Demo: Adding Psake Build Menu Items – Overview
  5. Demo: Adding Psake Build Menu Items
  6. Demo: Capturing Changes in a Solution Module
  7. Demo: Conditional Refactoring – Overview
  8. Demo: Conditional Refactoring – Strategy
  9. Demo: Conditional Refactoring – Scaling
  10. Module Summary
  11. Get-Help
Tagged : / / / / / / / / / / / / / / / / / /

Continuous Integration Training | Continuous Integration Course | Online | Classroom | India

continuous-integration-training

Continuous integration techniques with MSBuild, TeamCity, NUnit, NCover, FxCop, and Microsoft Web Deploy

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Contact us at info@scmGalaxy.com | Call – +91 700 483 5930 | Skype – scmGalaxy

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.

Course Schedule
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.

Audience
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.

Approach
The course is modular and flexible – depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions
We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.

Lab Work
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.

Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.

Contact Us
This course is provided on-site, and can be tailored to your particular requirements. If you would like our trainings delivered at your premises, or for any additional information please contact us. Please email us at info@scmGalaxy.com

Course outline

The basic course program is outlined here:

A Gentle Introduction

  • Overview
  • Levels of Code Confidence
  • CI as an Enabler
  • Benefits of Continuous Integration
  • Summary

Minimum Requirements

  • Overview
  • The Check-In Dance
  • Continuous Integration Do’s and Don’ts
  • Summary

Building a Solution

  • Building a Solution
  • Overview
  • Hello, Continuous Integration
  • Recommended Solution Layout
  • The Software
  • Building on the CI Servera
  • Build Failure Notifications
  • Receiving a Build Failure Notification
  • Summary

Build Scripts

  • Build Scripts
  • Overview
  • Why Do We Need a Build Script?
  • Decision Point: How to Add Build Steps
  • Recommendation: Do Not Modify csproj/vbproj
  • Recommendation: Do Not Script csc.exe/vbc.exe
  • Recommendation: Script Everything, but Compile with MSBuild
  • Why the Command Line?
  • Hello, MSBuild
  • Defining Targets
  • Running from the Command Line
  • Compiling the Solution
  • Setting the Default Target
  • Eliminating Duplication
  • Switching Between Debug and Release
  • Scripting Other Tasks
  • Using Custom Tasks
  • Handling Non-Fatal Command Failures
  • Depending on Multiple Targets
  • Running on the CI Server
  • Summary

Integrating External Tools

  • Integrating External Tools
  • Overview
  • External Tools
  • Test Runners
  • Integrating NUnit via Exec Task
  • Failing the Build with Exit Codes
  • Running Tests on the Build Server
  • Displaying Test Reports
  • Coverage
  • 100% Coverage Myth
  • Integrating Coverage
  • Integrating NCover via Custom MSBuild Tasks
  • Failing the Build on Low Coverage
  • Running Coverage on the Build Server
  • Static Code Analysis
  • Integrating FxCop
  • Failing the Build by Analyzing XML Output
  • Summary

Deployment Automation

  • Overview
  • Packaging/Deployment Options
  • Server Preparation
  • Deployment Pipeline
  • Continuous Deployment
  • Adding Packaging to the Build Script
  • Finding Microsoft Web Deploy on a Developer Machine
  • Packaging from the Command Line
  • Packaging on the Build Server
  • Installing Microsoft Web Deploy on the Web Server
  • Adding Deployment to the Build Script
  • Integrating Deployment into the Pipeline
  • Demonstrating Continuous Deployment
  • Summary
Tagged : / / / / / / / / / / / / / / / / / / / / /

TeamCity Training | TeamCity Course | Online | Classroom | India

teamcity-training

Click Here

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Contact us at info@scmGalaxy.com | Call – +91 700 483 5930 | Skype – scmGalaxy

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.

Course Schedule
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.

Audience
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.

Approach
The course is modular and flexible – depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions
We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.

Lab Work
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.

Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.

Contact Us
This course is provided on-site, and can be tailored to your particular requirements. If you would like our trainings delivered at your premises, or for any additional information please contact us. Please email us at info@scmGalaxy.com

Course outline

The basic course program is outlined here:

1. Introduction

  1. Introduction to Continuous Integration
    1. Practices
    2. Benefits
    3. Continuous deployment and Continuous Delivery
    4. The build pipeline
  2. Introduction to TeamCity
    1. Licensing
    2. Features
      1. First-class support for various technologies
      2. Lots of plugins
      3. REST API
      4. Comprehensive VCS support
      5. A nice dashboard UI and build history
      6. Ease of setup and comprehensive documentation
      7. Build pipeline/chains
      8. Agents and build grids
      9. IDE integrations
  3. TeamCity and its competitors
    1. Jenkins
    2. ThoughtWorks’ Go
  4. Summary

2. Installation

  1. Installing on Windows
    1. Installing the server and the default agent
    2. Installing additional agents
  2. Installation on Mac OS X
    1. Running the TeamCity server and the default agent
    2. Setting up the TeamCity server as a daemon
    3. Installing additional agents
  3. Installation on Linux
    1. Running the server and the default agent
    2. Running the TeamCity server as a daemon
    3. Installing additional agents
  4. Summary

3. Getting Your CI Up and Running

  1. Introducing version control systems
    1. Centralized versus distributed VCSs
    2. VCSs and CI
    3. VCS used in this book
  2. Setting up CI
    1. The sample project
    2. Creating a project in TeamCity
      1. Subprojects
    3. Adding build configurations
      1. VCS roots and VCS settings
      2. Introducing the build steps
      3. Running our first build
      4. Build failure conditions
      5. Triggering the build on VCS changes
    4. Build chains
      1. Deploying to Heroku
      2. Adding functional tests
        1. Parameters and build parameters
      3. Setting up the build chain
        1. Snapshot dependencies
        2. The Finish build trigger
        3. The Build chain view
    5. Fine-tuning our setup
      1. Adding coverage and unit test reports
        1. Publishing reports as artifacts
        2. XML report processing
        3. Report tabs
        4. Build and project statistics
        5. Shared resources
        6. Agent Requirements
  3. Summary

4. TeamCity for Java Projects

  1. Using Ant with TeamCity
    1. Installing Ant
    2. Building with Ant build files
      1. Building with Ant in a build configuration
    3. Adding some unit tests
    4. Setting up code coverage
    5. Build scripts versus TeamCity features
    6. System properties and Ant
  2. Using Maven with TeamCity
    1. Installing Maven
    2. Creating a Maven project
    3. Introducing the Project Object Model (POM)
    4. Building the project
    5. Using Maven in a build configuration
    6. Setting version number
    7. Setting up code coverage for our build
    8. Maven on TeamCity, beyond the build runner
      1. Creating a Maven build configuration
      2. Global Maven settings file
      3. Setting up Maven-based triggers
  3. Using Gradle with TeamCity
    1. Installing Gradle
    2. Building with Gradle on TeamCity
  4. Introducing database migration tools
  5. Summary

5. TeamCity for .NET Projects

  1. Getting started with NAnt on TeamCity
    1. Installing NAnt
    2. Building NAnt with NAnt
    3. Building on TeamCity
      1. Adding NUnit report processing
      2. Configuring agent requirements
  2. Building with MSBuild
    1. Installing MSBuild
    2. Starting an MSBuild project
    3. Building with MSBuild on TeamCity
    4. Adding an NUnit build runner
    5. Running NUnit tests using NUnit task
    6. Running NUnit tests using the task provided by TeamCity
    7. Configuring code coverage with MSBuild
  3. NuGet and TeamCity
    1. Installing the NuGet command-line client
    2. Installing NuGet.exe on TeamCity agents
    3. TeamCity as a NuGet server
    4. NuGet-based build runners
    5. NuGet dependency trigger
  4. Introducing PowerShell
    1. PowerShell-based build tools
    2. PowerShell build runner in TeamCity
  5. Database migrations with .NET
  6. Summary

6. TeamCity for Ruby Projects

  1. Getting started with Rails
    1. Managing Ruby versions
    2. Introducing Bundler
      1. Installing Rails using Bundler
    3. Introducing Rake
    4. Setting up the build on TeamCity
      1. Setting up Ruby interpreter
      2. Running Capybara- and Selenium-based feature tests
  2. Summary

7. TeamCity for Mobile and Other Technologies

  1. CI for Android projects
    1. Generating the APK
    2. Running Calabash tests
  2. Building iOS projects on TeamCity
  3. Installing TeamCity plugins
    1. Installing the Python runner plugin
    2. Building with the Python build runner
    3. Introduction to TeamCity.Node plugin
  4. Summary

8. Integration with Other Tools

  1. IDE integrations
    1. IntelliJ platform IDEs integration
      1. Installing the plugin
      2. Configuring notifications
      3. Managing projects from the IDE
      4. Opening files and patches in IDE
      5. Remote Run
    2. Visual Studio integrations
  2. GitHub integrations
    1. GitHub webhooks and services
    2. Using the TeamCity.GitHub plugin
    3. Support for pull requests
    4. Integrating with GitHub issue tracker
  3. Build monitors
    1. Team Piazza
    2. Project Monitor
    3. Build lights
  4. Notifications
  5. Summary

9. TeamCity for a Member of the Team

  1. Managing projects of interest
    1. Hiding projects
    2. Hiding build configurations
  2. Navigating across projects
  3. Investigating investigations
    1. Assigning investigations
    2. Viewing active investigations
    3. Managing current and muted problems
  4. TeamCity universal search
  5. Actions on build configurations
    1. Pausing triggers in a build configuration
    2. Checking for pending changes
    3. Enforcing clean checkout
  6. Summary

10. Taking It a Level Up

  1. Build configuration templates
    1. Creating templates from scratch
    2. Creating build configurations from the template
    3. Creating templates from existing build configurations
  2. Going meta with Meta-Runners
    1. Using Meta-Runners
  3. Build result actions
    1. Commenting on build results
    2. Tagging build results
    3. Pinning build results
    4. Promoting builds
    5. Marking the build as successful or failed
    6. Removing builds
  4. Build history cleanup
    1. Cleanup rules
    2. Archiving projects
  5. Configuring build priorities
  6. Interacting with TeamCity from build scripts
    1. Service messages
    2. Creating teamcity-info.xml
  7. Summary

11. Beyond CI – Continuous Delivery

  1. What is Continuous Delivery?
  2. Why Continuous Delivery?
  3. The deployment pipeline
  4. Implementing the deployment pipeline in TeamCity
    1. Publishing and consuming artifacts
    2. Build chain for CI
    3. Deploying to environments
    4. Environments as gates
    5. Identifying the build that is deployed in an environment
    6. Deploying any version to an environment
    7. Limiting deployment permissions to certain users
    8. Passing sensitive information during deployment
    9. Feature branching and feature toggling
  5. Summary

12. Making It Production Ready

  1. Using TeamCity with an external database
    1. Configuring PostgreSQL as an external database
    2. Migrating from one database to another
  2. Backup and restore
    1. Taking backups from the server UI
    2. Backing up and restoring data using the maintainDB tool
    3. A manual backup
  3. Handling upgrades
    1. Updating a server installed via an archive
    2. Updating TeamCity using the Windows installer
    3. Updating the agents
  4. Monitoring resource usage, performance, and logs
    1. Disk space usage
    2. TeamCity server diagnostics
  5. Tweaking the TeamCity JVM
  6. Summary

TeamCity Training In Bangalore | TeamCity Training in India | TeamCity Training in Hydrabad | TeamCity Training in Delhi | TeamCity Training in Pune | TeamCity Trainer In Bangalore | TeamCity Trainer in India | TeamCity Trainer in Hydrabad | TeamCity Trainer in Delhi | TeamCity Trainer in Pune

Tagged : / / / / / / / / / / / / / / / / / /

IBM Rational Build Forge V7.1 Training & Courses Online and Classroom by Expert Trainers in India

ibm-rational-build-forge-v7-1-training

scmGalaxy is a leading provider of IBM Rational Build Forge V7.1 courses, training and certification. Our Build Forge trainers, mentors and consultants are highly empowered with more than 15 years of rich experience in the Software industry. DevOps! Which has captured a significant position in the IT world and has become an important part of software engineering methodology. In order to improve the software quality, reducing cost and increased the agility for faster release, DevOps and IBM Rational Build Forge V7.1 is playing very important role thus finding the leading IBM Rational Build Forge trainers and training vendor is very much important.

Our IBM Rational Build Forge courses are designed in certain method where participants can get benefits with more content in less span of time. scmGalaxy provide their services in terms of IBM Rational Build Forge training and courses online and classroom in India and abroad. We run many public classrooms training program in the Bangalore, Hyderabad, Pune, Mumbai, India, Netherlands etc.

We offer a variety of training options to help you or your team get up and running with IBM Rational Build Forge or take your skills to the next level. Whether you attend one of our training courses classroom or explore an online interactive training option, you’re learning from real IBM Rational Build Forge professionals who have been there and want to help you succeed.

Contact us at

This course provides an overview of build management processes and an introduction to creating and managing the build process using IBM Rational Build Forge.

What You’ll Learn

  • Explain Build Forge general functions and usage models
  • Create a Build Forge Project using the Build Forge Administration Console
  • Configure a Build Forge Project using Servers, Selectors, and Collectors
  • Optimize the run-time execution of a Build Forge Project using Chains and Threads
  • Integrate external tools into a Build Forge Project using Adaptors
  • Perform Build Forge Project Runs and Analyze results
  • Configure the Build Forge IDE Plug-Ins and perform Project Runs within IDE

Who Needs to Attend

This is a basic course for:

  • Configuration Managers
  • Build Engineers

Prerequisites

There are no prerequisites for this course.

Follow-On Courses

There are no follow-ons for this course.

Course Outline

scmGalaxy provide corporate training and consulting in IBM Rational Build Forge. The agenda of the training is as follows;
Essentials of IBM Rational Build Forge Training
Introduction to the Build Forge system
Creating a Build Forge Project – Projects, Environments, and Steps
Configuring a Build Forge Project – Servers, Collectors, and Selectors
Optimizing a Build Forge Project – Chaining and Threading
Build Forge Adaptors
Executing a Build Forge Project – Scheduling, Results, and the Bill of Materials (BOM)
Build Forge IDE Plug-Ins
Appendix: Reporting with Quick Report
Creating, running, and scheduling a Rational Build Forge project
Creating a server authentication
Creating a selector and server
Creating a project
Running the project
Scheduling a project
Creating and using
Rational Build Forge libraries
Creating a library
Copying a project
In-lining a library
Using a library as part of a pass or fail chain
Rational Build
Forge administration: Controlling user access
Creating users and access groups
Creating a user
Creating an access group for notifications
Creating an access group for editing projects
Using subgroups to set up hierarchical access
Creating access groups
Editing access groups to specify subgroup relationships
Using log filters
in Rational Build Forge for Ant builds
Creating a log filter
Using a log filter in a project
Environment
variables in Rational Build Forge
Creating an environment with standard variables
Running a project with different environment settings
Pulldown environment variables
Running a project with pulldown environment variables
Dot commands in Rational Build Forge    
Changing build tags with the retag command
Accessing system information with the date command26
Moving files with the put and get commands
Changing a selector with the bset command
Exporting a project with the export command
Using a source command in an environment variable
Tagged : / / / / / / / / / / / / / /

Build and Release Engineer Courses Training in Online and Classroom Mode by Expert Trainers

Click Here

Contact us at info@scmGalaxy.com

Mode of Training – Online

The basic course program is outlined here:

  1. Software Configuration Management overview
  2. Elements of Software Configuration Management
  3. Establishing change control Procedures in SDLC
  4. Introduction of Version management / Source Code Management
  5. Overview of Build management
  6. Overview of Packaging management
  7. Overview of Release and Deployment management
  8. Concept of Continuous Integration
  9. Concept of Continuous Deployment
  10. Concept of Continuous Delivery
  11. Labs and Assignment
    1. Install & Configure Source Code Management (Git and SVN)
    2. Usage of Branching, Merging and Tagging
    3. Install & Configure Continuous Integration Tool (Jenkins)
    4. Write a Sample Build Script Using Ant, Maven and Make file
    5. Building a sample Java and C++ based product
    6. Build deployments to various environments(Windows and Linux)
    7. Automation Perspective using Perl and Bash Script
    8. Integration of various tools such Jira, Sonar, Cobertura, Unit test cases
  12. Questions and Feedback

There are various tools as below can be combined or customized based on the needs for students.

Build / WorkFlow Mgmt Tools / Continuous Integration Tools

  • AnthillPro
  • Apache Continuum
  • Bamboo
  • CruiseControl
  • Hudson
  • LuntBuild
  • OpenMake Meister
  • TeamCity
  • Team Foundation Server
  • Electric Cloud
  • uBuild & uRelease

SCM Tools | Version Control Tools

  • AccuRev
  • ClearCase
  • CA Harvest
  • CVS
  • Dimensions
  • Git
  • MKS Source Integrity
  • Mercurial
  • Perforce
  • PVCS
  • StarTeam
  • Subversion
  • Synergy
  • Team Foundation Server
  • Vault
  • ViewVC
  • VSS

Scripting

  • Ant
  • Groovy
  • Make
  • Maven
  • MSBuild
  • NAnt
  • Shell Scripts
  • Perl Scripts
  • Visual Studio

Release / Dep Tools / Continuous Deployment

  • Cruise
  • Rational Team Concert
  • UDeploy
  • Chef
  • Puppet

Security

  • Active Directory
  • Kerberos
  • LDAP
  • Single Sign-on
  • RSA SecurID

Testing Tools

  • Agitar
  • CppUnit
  • HP Mercury Quality Center
  • HP Mercury QuickTest Pro
  • JUnit
  • MSTest
  • NUnit
  • Selenium
  • Silk Central Test Manager
  • TestNG

Test Coverage

  • Clover
  • Cobertura
  • Emma

Source-code Analysis

  • Checkstyle
  • CodeSonar
  • Coverity
  • FindBugs
  • Fortify
  • Klocwork
  • PMD
  • Sonar

Issue Tracking Tools

  • Bugzilla
  • ClearQuest
  • HP Quality Center
  • JIRA
  • PVCS Tracker
  • Team Foundation Server
  • TeamTrack
  • VersionOne

IDEs Integration

  • Eclipse
  • RAD
  • Visual Studio

Virtualization

  • VMWare Lab Manager
  • Microsoft
  • Amazon (Elastic Cloud)

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.

Course Schedule
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.

Audience
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.

Approach
The course is modular and flexible – depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions
We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.

Lab Work
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.

Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.

Contact Us
This course is provided on-site, and can be tailored to your particular requirements. If you would like our trainings delivered at your premises, or for any additional information please contact us. Please email us at info@scmGalaxy.com

Build and Release Training In Bangalore | Build and Release Training in India | Build and Release Training in Hyderabad | Build and Release Training in Delhi | Build and Release Training in Pune | Build and Release Trainer In Bangalore | Build and Release Trainer in India | Build and Release Trainer in Hyderabad | Build and Release Trainer in Delhi | Build and Release Trainer in Pune

Tagged : / / / / / / / / / / / / / / / / / / / / / / / / / / / /

Apache Ant: Learn Apache Ant from IBM Experts

learn-apache-ant-from-experts

Apache Ant: Learn Apache Ant from IBM Experts

Section 1. Getting started 

  
What is this tutorial about?
In this tutorial, you’ll learn about Ant, a build tool for Java TM projects. Ant has quickly become popular among Java developers because of its flexibility and ease of use, so you it owe it to yourself to find out more about it. You don’t need any prior experience with or knowledge of Ant before you proceed. We’ll first see the basic structure of Ant build files, and learn how to invoke the tool. We’ll walk through the steps involved in writing a build file for a simple Java project, and then look at some of Ant’s other useful functions, including filesystem operations and pattern matching. We’ll finish by writing our own Java class that extends Ant’s functionality. In the course of the tutorial, we’ll show you how to run Ant both from the command line and from within the open source Eclipse IDE. You don’t need both environments.

Section 2. Ant basics

Ant basics introduction
In this section, we’ll give you an overview of Ant’s capabilities and strengths, and discuss its history and rise in popularity. We then delve straight into the fundamentals of Ant by examining the basic structure of a minimal build file. We’ll also introduce the concepts of properties and dependencies. What is Ant? Apache Ant is a Java-based build tool. According to its original author, James
Duncan Davidson, the name is an acronym for another neat tool. Build tools are used in software development to transform source code and other input files into an executable form (and maybe into installable product images as well). As an application’s build process becomes more complex, it becomes increasingly important to ensure that precisely the same build steps are carried out
during each build, with as much automation as possible, in order to produce consistent builds in a timely manner. Traditional projects in C or C++ often use the make tool for this purpose, where the build tasks are performed by invoking shell commands, and dependencies are defined between each of the build tasks so that they are always performed in the necessary order.
Ant is similar to make in that it defines dependencies between build tasks; however, instead of implementing build tasks using platform-specific shell commands, it uses cross-platform Java classes. With Ant, you can write a single build file that operates consistently on any Java platform (as Ant itself is implemented in the Java language); this is Ant’s greatest strength.
Ant’s other key strengths are its powerful simplicity and its ability to be seamlessly extended with custom capabilities. Hopefully, you will appreciate these strengths after completing the rest of this tutorial.
A little history
Ant started out as an internal component of Tomcat, the servlet container that is used in the reference implementation for the Java Servlet and JavaServer Pages (JSP) technologies. The Tomcat codebase was donated to the Apache Software Foundation; there, it became part of the Apache Jakarta project, which has a mission to produce open source, server-side solutions for the Java platform. The
usefulness of Ant was quickly recognized and its usage spread throughout the other Jakarta subprojects. Thus, it was made into a Jakarta subproject of its own, with the first independent release being made in July of 2000. Since then, Ant’s popularity has grown and grown. It has won numerous industry awards and become the de facto standard for building open source Java projects. In
November of 2002, this success was acknowledged by Ant’s promotion to a top-level Apache project. At the time of writing, the current stable release of Ant is 1.5.4, which supports all
JDK versions from 1.1 onwards. Beta versions of the next release, 1.6, are also available; these require JDK 1.2 or later. Planning is also underway for a future 2.0 release, which will involve a major rearchitecture. Ant 2.0 will feature improved consistency and enhanced functionality, whilst still retaining Ant’s core goals of simplicity, ease of understanding, and extensibility.
Anatomy of an Ant build file
Ant does not define its own custom syntax; instead, its build files are written in XML (see Resources ). There are a defined set of XML elements that Ant understands, and, as you’ll see in a later section, new elements can be defined to extend Ant’s capabilities. Every build file consists of a single top-level project element, which in turn contains one or more target elements. A target is a defined step in a build that performs any number of operations, such as compiling a set of source files. The operations themselves are performed by other specialized task tags, as we’ll see later. These tasks are then grouped together into target elements, as desired. All of the operations required for a build could be placed into a single target element, but that would reduce flexibility. It is usually preferable to split the operations into logical build steps, with each step contained in its own target element. This allows you to perform one individual part of the overall build without necessarily performing other parts. For instance, by only invoking certain targets, you could compile your project’s source code without creating an installable project image. The top-level project element needs to contain a default attribute that specifies the target to be executed if none is specified when Ant is invoked. Then the target itself needs to be defined, using the target element. Here is a minimal build file:

Note that this is well-formed XML, with an XML declaration specifying the version of XML being used (this is not currently required by Ant, but it is good practice), and with every element being properly closed. It is also possible to open and close an element in one go. So, instead of the separate start and end tags for the target element above, we could have written it as follows:

This more concise form can be clearer when an element doesn’t have any enclosed content.

Adding descriptions
The build file we saw in the previous section is nice and concise, but it doesn’t say much about the actual project being built. There are a number of ways to make it more descriptive without changing the functionality. Here’s an example:

A simple project introducing the use of descriptive tags in Ant build files.

As you can see, XML comments can be used throughout build files to improve clarity. Also, Ant defines its own description element and description attribute, which can be used to provide more structured annotations.

Properties
Properties in Ant are like programming language variables in that they have a name and a value. However, unlike normal variables, properties in Ant cannot be changed once they have been set; they are immutable, like String objects in the Java language. This might seem restrictive at first, but it is in keeping with Ant’s philosophy of simplicity: after all, it is a build tool, not a programming language. If
you do attempt to give an existing property a new value, this isn’t treated as an error, but the property does retain its existing value. (This behavior can be useful, as we’ll see.)
Based on the descriptive names of the elements and attributes seen so far, it should come as no surprise that the mechanism for setting properties in Ant looks like this:

To refer to this property in other parts of the build file, you would use this syntax: ${metal} For example, to use the value of one property as part of the value of another, you would write a tag that looks like this:

 

There are number of predefined properties in Ant. Firstly, all of the system properties set by the Java environment used to run Ant are available as Ant properties, such as ${user.home}. In addition to these, Ant defines a small set of its own properties, including ${ant.version}, which contains the version of Ant, and ${basedir}, which is the absolute path of the project’s directory (as defined by the directory containing the build file, or by the optional basedir attribute of the project element). Properties are often used to refer to files and directories on the filesystem, but this could cause problems across different platforms with different path separator characters ( / versus \, for example). Ant’s location attribute is specifically designed to hold filesystem paths in a platform-neutral way. You would use location in place of value like so:

 

The path separator characters used for the location attribute are converted to the correct ones for the current platform; and, as the filename is relative, it is taken to be relative to the project’s base directory. We could just as easily have written this instead:

 

Both versions of this tag will behave in the same fashion across different platforms. The only thing to avoid if portability is required is DOS-style drive letters in
filenames. It is also more flexible to use relative path names instead of absolute ones where possible.

Defining dependencies
Building a project generally requires a number of steps — first compiling source code and then packaging it into Java Archive Files (JARs) files, for example. (See Resources for more information on using JARs.) Many of these steps have a clearly defined order — for instance, you can’t package the classfiles until they have been generated by the compiler from the source code. Instead of specifying the targets in sequence order, Ant takes the more flexible approach of defining dependencies, just as make and similar build tools do. Each target is defined in terms of all the other
targets that need to be completed before it can be performed. This is done using the depends attribute of the target element. For example:

 

This approach allows you to request a build of any stage of the project; Ant will execute the defined prerequisite stages first. In the example above, if you ask Ant to developerWorks® ibm.com/developerWorks complete the compile step, it determines that the targets init and preprocess need to be executed first. The init target doesn’t depend on anything, so that will
be executed first. Then Ant will look at the preprocess target and find that it depends on the init target; because it has already run that, it doesn’t do so again, and executes the preprocess target. Finally, the compile task itself can be executed. Note that the order in which the targets appear in the build file is not important: it is only the depends attributes that determine execution order.

Tagged : / / / / / / / / / / / / / / / / / / / / / / /