| ------ |
| 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. |
| |
| <Note: Build Environments affect the versions of specific tools used to execute |
| builds and their environments. They are not intended to replace things like |
| Maven build profiles.> |
| |
| *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" |
| +-------------------------------+ |