Ibm Rational Build Forge Placement Papers - Ibm Rational Build Forge Interview Questions and Answers updated on 02.Mar.2024

The system does not allow canceling of chained projects. We can set the Fail Wait or Pass Wait attribute to Yes to automatically cancel the called projects for a Fail Chain or Pass Chain. In this way, the system cancels the when the calling project or the calling step.

The tag format describes how the system is constructing the tag. Tag format contains plain text and variable references denoted by the symbol $. When we use any variable in the tag format it should be from the list tag variables defined by the system in the preceding section, or we must define these variables for the project before it can execute. Variables, which are not explicit, are treated as static text.

Selectors decide which server resource should run a project. Selector constitutes of a list of variables, which specifies a value with the comparison.

Example: we can specify a property known as Compiler Version = 1.1 to select only those server resources which have the equivalent property. We can also specify the Compiler Version >= 1.1 to select server resources having versions 1.1, 1.3, 2, or 2.@Whenever a project runs, the selector is assigned to determine which server resource it should run on.

Run Limit property sets the highest number of jobs of the project that are allowed at one time.

  1. When we launch a project and the active jobs equal to the Run Limit, then the latest job stays in the queue until the other one completes.
  2. When a schedule attempts to initiate a project and the active jobs equal the Run Limit with the Hard Run Limit system set up has a value of Yes, then the system does not initiate the new job. If only the Hard Run Limit is set to No, the system ignores the Run Limit set up for any scheduled builds.
  3. Projects which are initiated through an Inline chain are not considered for instances of the primary project and do not count to its Run Limit.

For assigning a log filter to a step, we must do the following:

  1. We should select Projects or Libraries, which is to access the step.
  2. We should select the project or library, which contains the step.
  3. We should choose the step to open Details form.
  4. Finally Results, then select the log filter needed to run each time the step executes.

The system creates a step environment before it executes a step. Step environment constitutes of the variables which apply to the step, inherited from the server, project, and step environment in an orderly manner.

  1. Server environment variables are copied and pasted to next step environment
  2. Project environment variables are functional to the step environment. If project environment consists a variable in the same name as the variable in the server environment, the value will be updated in the Variable Action in both the variables.
  3. Step environment: step environment variables are applied to the step environment. In scenarios where the variable in the step environment is with the same name as the inherited variable from the server or project environments, then the value is updated according to Variable.

Whenever a step inlines any project, the requested project’s server & project environment are not used. Inheritance goes in the following order: server environment, project environment, step environment. For each step in the called project, the step environment if specified.

Functions of IBM Rational Build Forge is to execute the framework for automating, orchestrating, managing, and tracking all the processes between each client within the assembly line in any software development, thus creating an entirely automated software factory. IBM Rational Build integrates into the current environment to support the major expion of scripts, languages, tools, and platforms.

Access group allows viewing and using project. Access property is used with appropriate permissions to determine user roles.

Example: for executing a job, we have to be a member of access group specified for the project and be a member having the Execute Jobs permission.

We can temporarily disable any server resource. To restrict, jobs running on it.

  1. We should click Servers to display all the listed servers.
  2. Select the name of the server to modify. The system will reveal the details accordingly.
  3. Choose Disable from the details at the bottom of the pane.
  4. Lastly we need to click on Save Server.

The system has inbuilt templates for many events, which can occur. We can create new ones that are detailed to any particular project. When we do this, the particular template is used instead of the global template.

Dot commands are used in the Command field of a step, providing access to capabilities and functions within the system. We can mix dot commands with ordinary commands in a step and have multiple dot commands in any single step.

Synchronization of the tag is for variables of two projects. We need to select the project whose tag variable is supposed to be synchronized with the existing project. When both projects are synchronized, their variables are taken from the same data pool, so that while running in sequence, one project gets the value 1, the next gets the value 2, and so on.

Threading facilitates steps to run simultaneously, either on the same server or other. Thread property setting manages to thread. By default, the property is set to No. It helps in reducing the project execution time when parts of a project which can run independently.

Filter pattern describes the string, which is needed to match in step output. Every filter pattern we create is connected with a single action filter. Filter patterns and actions are both defined on the sets of the filter log. The capability to embrace multiple filter patterns in any log filter and relate it to output from a single step permit to use various search criteria without constructing any complex strings.

We can connect projects by using a feature called chaining, to maintain frequently used groups, separately from projects that depend on them. We also use this feature to run automated test and installation of the projects on completion of certain steps. Chaining is also used to delete files that are not needed by the development teams.

Values of a variable for a .set or .subset command can be generated by sending a command to the server’s command interpreter. To use this command within the dot command, we should enclose the command in back tick characters.

For example: the command: .set env Setup Group “Perler=`perl –version`” sets the variable Perler to the output of the Perl –version command.

Environment is classified set of variables, which are accessible for following functions after adequately described.

Variables should be used in jobs. Environments can be allocated to servers and steps. During the execution of the situation, the running step inherits the values of the variable from all the following three:

  1. Server environment connected with the server where the job is being executed,
  2. Project environment combined with the project where the step is defined correctly
  3. Step environment joined clearly with the step

The scheduled tasks use Set variables. An environment is set for scheduled the job replaces the environment specified for the project.

Set variables are used by the adaptors, assigned to an adaptor link. It is used as the early adaptor in the project.

Collectors describe what should be collected and dispense to the server resources. The section of Collectors in the Servers lists the accessible collectors & allows us to generate new collectors. Collector constitutes of more than one property, which specifies the information, which should be included in the manifest. Collectors facilitate the use of dynamic selectors for which enterprise edition is required.

A library is a project whose Selector is set as none & is supposed to run within other simultaneous projects. They can run on the server of the step that calls them. Whenever we save a project, which has a selector set to none, the system alerts that it will be kept as a library. Libraries are listed in the consequent Libraries panel.

When a project is scheduled, it can be chosen to effect a unique environment to the project instead of the default. Once the environment has been being specified, the Environment tab is used to set values for any variable of that environment, which are presented in the environment tab according to On Project property setting. They all follow the same policy for a non-scheduled job initiation.

Selection of a server resource for any project depends on the system used by the selector, which assesses them by following methods:

At first, the system collects the list of servers, which contain the needed variables. If server resource does not match the necessary criteria, then the project fails, and method creates a note accordingly.

In the scenario where more than one server meets the needed criteria, the system rates each of the eligible servers and allocates the point as follows:

  1. One single point is for each optional matching variable. If the selector consists, more than a copy of the variable, then the system allocates one point/copy.
  2. One point is mapped to the server having the lowest BF_LOADRATIO value.

System selects the server which received most of the points. If there is more than one server having the maximum points, then the system chooses one of them.

More than one variable can be set at once with these commands by including supplementary variables and value pairs, separated by spaces

the following example: .set env My Group “X=5” “X2=45.”

Clobber button removes a project and its associated tasks from the database. System requests for confirmation before clobbering a project. After we clobber a project, it cannot be undone. The button is visible on the editing page of project property; which needs to be selected and then click the icon beside the name of the desired project.

Variables are modified during execution of the step, project, or permanent scope.

  1. In step scope by using a command, we can override the variable values by using specific assignments, which are in effect only the current step.
  2. In any project scope by using the command .bset in any step alters the value of the variable for the range of the existing job. We can generate fresh variable by using .bset. They are in scope for the remaining jobs. The modification is made by using .bset which comes to effect in the following step where .bset is used.
  3. Permanent scope by using the .set command to modify the environment with a variable definition. Variables are described in server, project, and step environments. Modifying a server or project variable using .set does not modify the current job's variable. Jobs can run after the current job get the modified variable.

UI identifies only current selector snapshot from a set of the snapshot. We need a reliable approach for choosing a default snapshot:

  1. We should use the default snapshot as a base snapshot.
  2. Followed by using them as backups. We can modify the base snapshot only. We should not make any changes in the backed up snapshots.
  3. We can use the latest snapshot as the default snapshot. Every time we create a new selector snapshot, we should adopt it as the new default selector snapshot. We should not modify the base selector snapshot.

Filter actions describe the action taken if a filter pattern is found in step output. Each filter pattern created is associated with a single filter action. Both the filter actions and patterns are explicit in log filters.

Step is an element of project. When the project is executed as a job, step is run in the same order. The step consists of one or more commands and has properties which affect its properties.

Registers are the general purpose cushion which steps use for storing persistent data. Ordinary registers have single letter names, or multi-character names beginning with letters.

A project can specify a plan as Pass or Fail Chain. When a project is called in such a way, it runs in its environment. Additionally, it has access to the variables from the calling project. The variables are then copied using the prefix BF_CALLER_.

Example: the variable BF_NAME in the calling project is available as BF_CALLER_BF_NAME in the called project.