Gradle Training | Gradle Course | Online | Classroom | India | USA | UK

gradle-training

Gradle is the next generation in build automation. It uses convention-over-configuration to provide good defaults, but is also flexible enough to be usable in every situation you encounter in daily development. Build logic is described with a powerful DSL and empowers developers to create reusable and maintainable build logic.

End of this training, you can empower yourself to automate your build

  • Learn the best of Gradle
  • Work easily with multi-projects
  • Apply Gradle to your Java, Scala and Groovy project

Contact us at info@scmGalaxy.com

Table of Contents

Agenda 1: Getting Started
Introduction
Prerequisites
GVM to Manage Gradle Versions
Manual Installation in Windows/Mac/Linux
Installation Troubleshooting
Gradle Installation Binaries
Default Project Layout
Gradle Wrapper
Conclusion
Agenda 2: Gradle Tasks
Introduction
build.gradle
A Taste of Groovy
Dynamic Tasks
Gradle Tasks API
Using Ant Tasks
Using DAG
Agenda 3: Java, Groovy, and WAR Plugins
Introduction
Java Plugin Tasks
Hooking into Maven
Testing
Multimodule Java Projects
Creating a Distribution
Groovy Plugin Tasks
Building a WAR
Conclusion
Agenda 4: IDE Integration
Introduction
IntelliJ
Eclipse
NetBeans
Conclusion
Agenda 5: Dependency Management
Introduction
Dependency Types
Declaring Dependencies
External Dependencies
Publishing Artifacts
Dependency Configurations
Conclusion
Agenda 6: C++ Support
Introduction
Supported Platforms
Plugins
Libraries
Executables
Tasks
Configuring on Linux/OSX/Windows
External Dependencies
Project Dependencies
Publishing
Native Support for Variants
Agenda 7: Building JavaScript (gradle-js-plugin)
Introduction
Specifying Your Sources
Combining Your Sources
JSHint
JSDoc
Props2JS
RequireJS
Gradle CSS Plugin
Conclusion
Agenda 8: Building Scala
Introduction
Usage and Tasks
Project Layout
Compiler Setup/Incremental Compilation/Forked Execution
Dependencies
Fast Compiler Support
Conclusion
Agenda 9: Continuous Integration Servers
What Is Continuous Integration?
The Jenkins/Hudson Plugin
TeamCity
Bamboo
Conclusion
Agenda 10: Repository Managers
What Is Repository Management?
Artifactory
Bintray
Nexus
Conclusion

About us:
scmGalaxy online platform is a community initiatives based on Software configuration management and DevOps that helps members and organizations to optimize their software development process, advocating agile methodologies and improve productivity across all aspects of Application lifecycle management. We provide consulting, training and mentoring services in agile development practices such as Source Code Management, Continuous Integration, Build management, Test-Driven development, Acceptance-Test driven development, Build automation, code quality practices and automated testing and continuous delivery.

We provide job oriented training in the area of Software Configuration management, Build and Release Engineering and DevOps domain . 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. This course offered online around the globe which include India, USA, Europe, Australia, Bangalore, Delhi, Pune, Mumbai, Chennai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering and DevOps with more than 10 years industry experience in India.

Contact us

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with automated 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-line course. Please contact us for more details.
Audience
This is a hands-on, practical course designed to teach specialized skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer, DevOps engineer and developer and QA 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

Gradle Training in India,

Gradle Training in California,

Gradle Training in Australia,

Gradle Training in Bangalore,

Gradle Trainer,

Gradle Training in Europe,

Gradle Training in USA,

Gradle Training in Hydrabad

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

Puppet Training for Devops and System Administrators | Puppet Course

puppet-training-for-devops-and-system-administrators

Puppet Training for DevOps and System Administrators

Agenda –

  • Introduction to Puppet
  • Installing and Configuring the Puppet Master
  • Installing and Configuring the Puppet Agent
  • Creating Manifests
  • Creating and Using Modules
  • Creating File Templates
  • Configuring Hiera
  • Windows Configuration Management
  • Version Control

Contact Info

  • Email – info@scmgalaxy.com
  • Call:- +91 700 483 5930
  • Skype – scmGalaxy

Training – http://bit.ly/scmgalaxy-training

Calender – http://bit.ly/scmgalaxy-calender

Location – Bangalore, Hydrabad, Pune, Mumbai, Delhi, USA, Australia, Canada

The Basics

  • Introduction To Configuration Management
  • About The Author
  • Why Puppet?
  • How To Access Your Working Files

The Puppet Infrastructure

  • uppet Agents
  • Puppet Masters
  • MCollective And Systems Orchestration
  • Cross Platform Puppet

The Puppet Run Cycle

  • Introduction To Puppet Run Cycle
  • Gathering System Facts
  • Node Matching And Catalogue Compilation

The Puppet Language – A Basic Primer

  • Puppet Resources – How To Define System Resources
  • Applying A Simple Puppet Manifest
  • Puppet Types
  • The Package File Service Patter
  • Applying Conditional Logic In Puppe
  • Fact Conditionals – Choosing A Course Of Action

Organizing A Puppet Environment

  • Defining Nodes
  • Puppet Modules – Reusable Code
  • Forge Modules – Where To Find Reusable Code
  • Provisioning A Web Server
  • Class Parameters – Applying Variables
  • Hiera Parameters – Defining Variables
  • Executing Modules Against A Puppet Master With An Agent
  • Reporting With Puppet

MCollective

  • MCollective And Live Management
  • MCollective With Puppet
  • Using MCollective To Interact With Services
  • Using MCollective To Interact With Puppet

Additional Tools

  • Managing Modules With Librarian-Puppet
  • Managing Directory Environments And Modules With R10K
  • External Node Classifiers And Reporting With Puppet Dashboard – Part 1
  • External Node Classifiers And Reporting With Puppet Dashboard – Part 2

Conclusion

  • Wrap-Up And Further Resources

About us:
scmGalaxy online platform is a community initiatives based on Software configuration management and DevOps that helps members and organizations to optimize their software development process, advocating agile methodologies and improve productivity across all aspects of Application lifecycle management. We provide consulting, training and mentoring services in agile development practices such as Source Code Management, Continuous Integration, Build management, Test-Driven development, Acceptance-Test driven development, Build automation, code quality practices and automated testing and continuous delivery.

We provide job oriented training in the area of Software Configuration management, Build and Release Engineering and DevOps domain . 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. This course offered online around the globe which include India, USA, Europe, Australia, Bangalore, Delhi, Pune, Mumbai, Chennai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering and DevOps with more than 10 years industry experience in India.

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 automated 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-line course. Please contact us for more details.
Audience
This is a hands-on, practical course designed to teach specialized skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer, DevOps engineer and developer and QA 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 : / / / / / / / / / / / / / / / / / / / / / / /

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 : / / / / / / / / / / / / / / / / / /

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 : / / / / / / / / / / / / / / / / / / / / / / /