------ Continuum :: Build Environment ------ Olivier Lamy ------ Oct 17 2007 ------ ~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. ~~%{toc|section=0} Managing Build Environments In continuum, Build Environments allow you to create and manage multiple build configurations. Once you have defined the Build Environments you can configure project Build Definitions or {{{./builddefTemplate.html}Build Definition Templates}} to use them. *Build Environments Build Environments are named groupings of {{{./builder.html}Installations}}. By grouping the collection of Tools and Environment Variables, you define a configuration that can be used to build a project. To define a Build Environment, you specify a human friendly name and add one or more Installations. Once defined, the Build Environment is available for use. You can then specify what Build Environment to use in your project's Build Definitions or in your Build Definition Templates. When continuum detects that a project needs to be built, it uses the Tool Installations to construct the paths to the expected executables (ie. Maven build definitions construct paths to the mvn executable and the java executable). Additional Installations are translated into name/value pairs that are passed through to the constructed command's environment. As of Continuum 1.2.1, build environments can be used in releasing projects. This is set upon supplying the release prepare parameters during the {{{../user_guides/release/prepare.html} Release preparation}} of the project. **Creating a Build Environment From the menu, choose the 'Build Environments' entry [../images/buildenv-menu.png] Build Environment Menu Enter a name [../images/buildenv-add.png] Add Build Environment ** {Attach Build Agent Group to a Build Environment} The list box contains all available Build Agent Groups. The list box will only be visible if Distributed Builds is enabled in the {{{./configuration.html}General Configuration}} Page [../images/profile-build-agent-group.png] Add Build Agent Group to Build Environment **Attaching the related Installations When editing a Build Environment, the Installation list box contains all defined Installations. You can only specify a single Tool Installation per type (jdk, maven, maven2, ant). However, you may specify multiple Environment Variable Installations. [../images/buildenv-setup-jdk.png] Adding Installations to Build Environment **Setting a Build Definition's Build Environment The way you configure builds to use your newly created Build Environments is by setting it in either a project Build Definition or in the continuum Build Definition Templates. The following example sets the Build Environment of a specific project's Build Definition. [../images/buildenv-in-builddef.png] Setup Build Environment **Installations used in Notification mail Build notifications send along information about the environment in which the project was built. * Java Home version : coming from $JAVA_HOME/bin/java -version. * Builder version : coming from builder used version arg (mvn used -v, ant use -version). [] +-------------------------------+ Java Home version : java version "1.6.0_11" Java(TM) SE Runtime Environment (build 1.6.0_11-b03) Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing) Builder version : Maven version: 2.0.9 Java version: 1.6.0_11 OS name: "linux" version: "2.6.16.60-0.23-default" arch: "i386" Family: "unix" +-------------------------------+