“Run in Preflight” and “Run in Preflight Only” explained in IBM UBuild!

The Preflight plugin provides steps that can be used for developer Preflight builds


The preflight client first starts a simple file server.
First, The server is used to transfer source files from the user desktop to a build agent and to transfer build artifacts from the build agent to the user desktop.
Next, the preflight client requests anthill to perform a build. It is expected that the build will have special preflight transfer steps already configured.

  1. One step will request source files from the preflight client that originated the build and lay them down in the workspace directory.
  2. The second step will send artifacts from the agent back to the preflight client.

The basic model for a preflight workflow is this.

  • Check out source.
  • Transfer modified source files from the preflight client. These files will overwrite the pristine copy.
  • Run build commands.
  • Transfer build artifacts to the preflight client.
  • Alternatively, the source checkout step could be skipped altogether and the preflight client will provide all source files.


In normal usage, the preflight system depends on steps added to the normal build workflow. These steps are in the Preflight folder:

  • “Transfer Source Step” and
  • “Transfer Artifacts Step”.

These steps should be added at appropriate points in your build job.

All steps, including preflight steps, have preflight flags in the “Additional Options” section of the step configuration. The first, “Run in Preflight”, controls if the step is executed in a preflight build. Most steps will leave this on the default, true. The main exception would be artifact publishing steps. Artifacts from preflight builds are often not preserved on the server.

The second option, “Run in Preflight Only”, controls if the step is executed only in a preflight build. Normal builds do not execute steps with set to true. By default, this option is false and most steps will use this setting. The exceptions are the two preflight steps. These should only be used in a preflight a build as the communicate with the preflight client. When configuring these steps, set “Run in Preflight Only” to true.

The preflight flags are not limited to any particular steps. This is useful, for example, for skipping packing steps not useful to a preflight user or publishing preflight artifacts to special artifact sets.

Simple Build

The preflight client controls what files are sent and what files are received with command line options. For sending source files, “-i” will add an include pattern and “-x” will add an exclude pattern. For receiving files, the options are similiar: “-I” will add an artifact include pattern and “-X” will add an exclude pattern (note the difference is case).

Here’s a simple example:

C:\>preflight build -p petstore -w "build trunk" -i "src/**" -x "src/conf/**" -I "dist/*.war" -X "dist/util.war"

This command will run the “build trunk” workflow of the “petstore” project. All source files will be included except those in src/conf. All WAR files in dist will be returned, except for util.war.





Tagged : / /

Difference between jenkins and Urbancode build

What is the difference between jenkins and Urbancode build?

jenkins Urbancode build
Jenkins is open framework for automating the repeative tasks and has great plugins which can be used to create entire automated customized continous integration framework. Urbancode build(uBuild) is for automating the repeative tasks and has great limited sets of plugins which can be used to create entire automated continous integration flow.
Jenkins can deliver core CI loop: Detect a change, do a build, test, and deliver feedback and its open framework allows and can be used for software Deployment as well. Urbancode build(uBuild) can deliver core CI loop: Detect a change, do a build, test, and deliver feedback but it can be not be used for deployment. Urbancode Deploy(uDeploy) is another product by IBM which can be used for deployment.
Jenkins can be extended with Large sets of plugins https://plugins.jenkins.io/ Urbancode build(uBuild) can be extended with Limited sets of plugins https://developer.ibm.com/urbancode/plugins/
Jenkins is one of top active Open Source and free developed in Java. Urbancode build(uBuild) is properiety tool by IBM, previously known as Urbancode and developed in Java
Jenkins has plugins which needs extra learning curve by development teams for centrally defined templates Urbancode build(uBuild) has built-in Easy addition of new projects by development teams based on centrally defined templates
Jenkins has Dependency management and but not awareness. Build based on project relationships. Urbancode build(uBuild) has Dependency management and awareness. Build based on project relationships.

My Recommendation – Jenkins

Tagged : / / / /

How to Install plug-ins in IBM UrbanCode Build


  1. Download the installation files for one or more plug-ins from the following site: https://developer.ibm.com/urbancode/plugins/ibm-urbancode-build/. Do not extract the compressed files.
  2. Load the plug-ins:
    1. From the IBM UrbanCode Build user interface, click the System tab.
    2. In the Server group, click Plug-ins.
    3. On the Plugins page, Browse and locate the plug-in installation file and then click Open.
    4. On the Plugins page, click Load.


After the upload to the server is complete, the plug-in is listed on the Plugins page and available for immediate use.

Uninstalling a plug-in

To uninstall a plug-in, click System > Plug-ins, locate the plug-in, and then click the Delete icon.

Note: Before uninstalling a plug-in, verify that it is no longer in use. Deleting a plug-in which is being used by existing processes causes those processes to be invalid.

Tagged : / / / /

Upgrading from IBM uBuild or earlier

SSLv3 is no longer supported by IBM uBuild or IBM UrbanCode Build due to the POODLE vulnerability. In fixing the vulnerability, there are a few steps that should be taken prior to upgrading to uBuild or later and UrbanCode Build 6.1 and later.

Before starting your upgrade, you should do the following:

  1. Shut down your IBM uBuild or IBM UrbanCode Build server
  2. Download the latest IBM UrbanCode Build release
  3. Extract the IBM UrbanCode Build .zip file
  4. Navigate to extracted directory
  5. Navigate to the agentupgrade directory
  6. Copy the air-agentupgrade.jar file to your existing server’s opt/tomcat/webapps/ROOT directory
  7. When prompted, replace the existing file
  8. Start your IBM uBuild or IBM UrbanCode Build server
  9. Navigate to the Agents tab
  10. Select all existing agents and tell them to upgrade

Upgrading the agents ahead of time prevents an issue where old agents are no longer able to connect to the IBM UrbanCode Build server because they try to use SSLv3. If you do not upgrade proactively the agents will be unable to communicate with the server, requiring manual upgrades. Once all of your existing agents have been upgraded, proceed to upgrade your server as you normally would.

Once you have upgraded your server, you must also upgrade any plugins that upload any information back to the server. This would include any issue tracking, reporting, or SCM plugins. If the plugins are not upgraded, you will see an SSL Handshake Exception whenever step from the plugin tries to upload anything to the server.

The full list of plugins that need to be upgraded is as follows:

  • AccuRev
  • AccuWork
  • Checkstyle
  • ClearQuest
  • Cobertura
  • CodeStation
  • CppUnit
  • CVS
  • FileSystem
  • FindBugs
  • Git
  • HP Fortify
  • HP Quality Center
  • JaCoCo
  • JIRA
  • JUnit
  • Mercurial
  • MSTest
  • NUnit
  • Perforce
  • PMD
  • Rally
  • Rational Team Concert SCM
  • Rational Team Concert Work Items
  • Report Publisher
  • Reporting
  • Sonargraph
  • SonarQube
  • Team Foundation Server
  • TFS Work Items




Tagged : / /

uBuild, uDeploy and uRelease Courses Training in Online and Classroom Mode by Expert Trainers


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

  • Mail – info@scmGalaxy.com
  • Call – +91 700 483 5930
  • WhatsApp – +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.

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.

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.

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:

uBuild is used by software development organizations that have complex build management requirements that are not easily met by off-the-shelf tools. The typical build management customer has a home-grown build automation system that is complex but meets their requirements. uBuild is the latest in a long line of build management solutions dating back to Anthill in 2001.

uBuild Training Agenda

  • Create a new project from a template
  • Create a new build process
  • Create source configuration from a template
  • Details of the project template
  • Java Ant template
  • Workflows
  • Reuse
  • Why use notifications
  • Who, What and When
  • Event selectors
  • Recipient generators
  • Notification templates
  • Example notification
  • What is a notification schemes
  • How to use notification schemes
  • Configure an agent
  • Load plug-ins
  • Create the workflow that defines the build
  • Create the project template
  • Configure the source template
  • Configure the build process template
  • Create the project
  • Define repository
  • Configure the source
  • Fix FindBugs path
  • Add missing property
  • Run build process
  • Check artifacts and troubleshoot

IBM uDeploy helps you meet the challenge by providing tools that improve deployment speeds while simultaneously improving their reliability. IBM uDeploy’s release automation tools provide complete visibility into n-tiered deployments, enabling you to model processes that orchestrate complex deployments across every environment and approval gate. IBM uDeploy’s drag-and-drop design tools decrease design-time by making it easy to visualize the end-to-end deployment process and develop the big picture—the What,How, and Where of the deployment workflow:

What: The deployable items—binaries, static content, middleware updates, database changes and configurations, and anything else associated with the software—that IBM uDeploy delivers to target destinations.

How: Refers to combining deployable items with processes to create components, and designing applications that coordinate and orchestrate multi-component deployments.

Where: The target destination’s hosts and environments—IBM uDeploy can scale to any environment.

uDeploy Training Agenda

  • Overview and uDeploy concepts
  • Overall uDeploy architecture
  • Typical deployment types
  • uDeploy Object Model
  • Components and versions
  • Inventory
  • Component Processes 1
  • Properties
  • Templates
  • Applications
  • Application Process
  • Environments and Inventory
  • Comparison for non-compliance
  • Component mappings
  • Snapshots
  • Full Deployments & Incremental Deployments
  • How to Execute Deployments
  • Comparing Environments
  • Creating a Snapshot
  • Creating Approvals for Environments
  • How to schedule the Deployment
  • Gating
  • Checking conditions for gates
  • Application Configuration Management
  • Configuration Templates
  • Notifications
  • Agents
  • Resources
  • Resource Groups
  • Agent Pools
  • Resource Roles
  • Licensing
  • 5Security
  • Application processes and roles
  • Agent Pools
  • Environment Configuration
  • Security
  • Security – Authentication and Authorization
  • Security – Default Permissions
  • Security – Tokens
  • Security – Role Configuration
  • UI Security
  • Snapshot
  • Snapshot Preview
  • Process Request
  • Process Types
  • Execution Logs
  • Default Working Directory
  • Basic Commands
  • Integration with TFS
  • When to use what kind of properties
  • Locks
  • Command Line Interface
  • Plugins
  • Reports

IBM uRelease’s Web-based front-end ensures that the real-time collaboration between teams—the key to successful releases—is easy and intuitive, and makes long brutal releases a thing of the past. IBM uRelease provides complete visibility into every facet of the software release life cycle, which is essential for predictable, and stable software deliveries.
IBM uRelease can coordinate multiple deployments: those running concurrently with one another; those dependent on the output or status of other deployments—any combination imaginable. Dependences can be ordered and coordinated with middleware and networks. IBM uRelease enables you to leverage current processes by interleaving manual tasks with automated process, and provides out-of-the-box integration with tools like IBM uDeploy and IBM uBuild.
Capturing the differences between release artifacts and processes is the basis for auditing and compliance reporting. IBM uRelease’s best-of-breed tools capture and log all activities throughout the release cycle, from pre-production through production. Key metrics are available for: compliance, governance, data aggregation and reporting, auditing/logging, and version/change control—in short, you can determine project status at any point and measure every aspect of the release cycle.
uRelease Training Agenda

  • real-time collaboration unites release teams with centralized task coordination and execution
  • Web-based front-end provides comprehensive picture of current, past, and future releases
  • template-driven release design
  • extensive and open plug-in system provides integration with most popular third-party tools
  • flexible team- and role-based security system
  • out-of-the-box integration with IBM uDeploy and IBM uBuild

uBuild, uDeploy and uRelease Training In Bangalore | uBuild, uDeploy and uRelease Training in India | uBuild, uDeploy and uRelease Training in Hydrabad | uBuild, uDeploy and uRelease Training in Delhi | uBuild, uDeploy and uRelease Training in Pune | uBuild, uDeploy and uRelease Trainer In Bangalore | uBuild, uDeploy and uRelease Trainer in India | uBuild, uDeploy and uRelease Trainer in Hydrabad | uBuild, uDeploy and uRelease Trainer in Delhi | uBuild, uDeploy and uRelease Trainer

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