® IBM Software Group © 2008 IBM Corporation Setting up Build Forge demo projects for ALM Windows only May – work in progress Stuart Poulin
IBM Software Group | Rational software Disclaimer and Non-Disclosure IBM Rational Plans are subject to change Nothing in this document is intended to create any representations or warranties IBM Rational warranties are contained in the applicable license agreements
IBM Software Group | Rational software Demo to Present Setting up Build Forge ALM project examples
IBM Software Group | Rational software Audience Users setting up the ALM Baseline/Build demos on Windows
IBM Software Group | Rational software Pre-setup Install CQ and ALM Recommend DB2 ALMProjects included in the ALM Schema should be: Project_ToDo Project_ToDoNAS (not authorized to Submit) Project_ToDoOffering Project_ToDoNonUCM_Component Project_ToDoNonUCM_Offering Each of these ALM projects will have a corresponding Build Forge project in a later step Be sure “PATH” contains “ratlperl” Install ClearCase Install Build Forge DB2 is recommended for Build Forge Setup a Build Forge server on the same machine
IBM Software Group | Rational software Pre-setup Install Build Forge DB2 is recommended for Build Forge Setup a Build Forge server on the same machine Add to your PATH the Build Forge install directory (under program files)
IBM Software Group | Rational software Setup up an ALMHOME env variable for the ALMscripts Scripts come packaged in: “\Program Files\IBM Rational\clearquest\packages\ALMWork\X.Y\pkg_util” where X.Y indicate the latest version It’s OK to use this directory or copy these out to a new directory Files Included in this directory on next slide
IBM Software Group | Rational software Baseline/Build scripts provided with ALM Designed to interface UCM and NonUCM Change Management (CM) systems to ALM Written in RATLPerl. Released as source to allow you to extend for your own process if needed All explained in ALM documentation and have a commandline –help for addition information.
IBM Software Group | Rational software Baseline/Build scripts provided with ALM in pkg_util dir Create_baseline_record.pl Creates an ALMBaseline record from the commandline Create_build_record.pl Given an ALMBaseline record creates a BTBuild record off it Update_baseline_record.pl Updates an existing ALMBaseline record from UCM or supplied commandline Update_build_record.pl Update an existing BTBuild record from the commandline Runbasicquery.pl Runs a CQ stored query given commandline params for filters and saves the output to a file.
IBM Software Group | Rational software Setup ClearCase UCM Review the Build Forge Project 00_ALM_SETUP README step will have latest information on setup. Do Not Run this project at this time. Just review the Readme.
IBM Software Group | Rational software ClearCase UCM Setup Create a pvob. Suggested: alm_demo_ Where is in the format of YYMMDD Example: ALM_demo_ Create a component VOB for the Project_ToDO ALM project. Suggested name: comp_todo_ If not automatically created by the above step, manually create a UCM component in above PVOB. Suggested is to call the component the exact same name as the VOB cleartool lsvob -s \alm_demo_ \ comp_todo_080506
IBM Software Group | Rational software Project Explorer
IBM Software Group | Rational software UCM project comp_todo_ Create a project in the PVOB Suggested is to name it the same as the VOB and UCM component above: proj_comp_todo_ The length of this name will exceed 25 characters but for the demo this warning can be ignored Include the above component as modifiable in the project. Enable ClearQuest integration when creating the project. See next slide for policies
IBM Software Group | Rational software
OK to ignore
IBM Software Group | Rational software
UCM ClearQuest Policies 0 = DO NOT CHECK 1 = CHECK For Delivery 0 Perform ClearQuest Action Before Delivery 1 Transfer ClearQuest Mastership Before Delivery 0 Perform ClearQuest Action After Delivery 1 Transition to Complete After Delivery 1 Transfer ClearQuest Mastership After Delivery For Changing Activity 0 Perform ClearQuest Action before Changing Activity 1 Perform ClearQuest Action After Changing Activity 1 Transition to Complete After Changing Activity ======================================================
IBM Software Group | Rational software UCM ClearQuest Policies
IBM Software Group | Rational software UCM ClearQuest Policies For any UCM project created below enable the CQ connection and use the same policies.
IBM Software Group | Rational software UCM project comp_todo_ continued Create a view on the integration view of this project. Suggested name: proj_comp_todo_ _int This is the default name minus your login user name Example: proj_comp_todo_080506_int Join this project to create a dev stream and view. Reuse the integration view for this join operation. Suggested join stream name: dev_proj_comp_todo_
IBM Software Group | Rational software
Views on streams
IBM Software Group | Rational software UCM project Comp_ToDoNAS Create a component VOB for the Project_ToDoNas project. Suggested name: comp_todonas_ Create a UCM Component: comp_todonas_ Create project to match as above: proj_comp_todonas_ Add the UCM component as modifiable to the project. Use the same ClearQuest Policies Create an integration view as above: proj_comp_todonas_int_ Join this project as above and create a view: dev_proj_comp_todonas_080506
IBM Software Group | Rational software
UCM project todo_offering_ Create a "New Component Without a VOB“ Suggested name: offering_todo_ Create a new UCM project for this component. Suggested name: proj_offering_todo_ Create an integration view on this project. Suggested name: proj_offering_todo_int_ This project will be rebased from Baselines from the comp_todo, and comp_todonas projects and composite baselines will be created. It does not have any modifiable components of it's own. There is no need to "Join" this project.
IBM Software Group | Rational software UCM project todo_offering_ Add all components as non-modifiable to this project. Setup baseline dependencies so offering_todo_ depends on comp_todo_ comp_todonas_
IBM Software Group | Rational software UCM project todo_offering_ Components
IBM Software Group | Rational software UCM project todo_offering_ Baseline Dependencies
IBM Software Group | Rational software UCM project todo_offering_ Create a composite baseline in this project
IBM Software Group | Rational software Complete UCM Projects and Components
IBM Software Group | Rational software ClearCase UCM Setup When complete in the ClearCase project Explorer under Components you should see: comp_todo_ comp_todonas_ offering_todo_ UCM Projects should be: proj_comp_todo_ (Project Name) –proj_comp_todo_ _Integration (Integration Stream) –proj_comp_todo_dev_ (Developer Stream) proj_comp_todonas_ (Project Name) –proj_comp_todonas_ _Integration (Integration Stream) –proj_comp_todonas_dev_ (Developer Stream) proj_offering_todo_ (Project Name) –proj_offering_todo_ _Integration (Integration Stream)
IBM Software Group | Rational software
Import the Build Forge Projects File BF_EXPORTED_YYMMDD.zip Where YYMMDD is the latest Year, Month, Day for the file Unzip to a directory Cd to BF_EXPORTED directory Run: ratlperl bf_import_all.pl This will import all the projects and environments into your build forge. Be sure: Be sure to set and test connection to a server To set a selector for each project. Something default will work.
IBM Software Group | Rational software Edit Build Forge Environments 00_ALM_GLOBAL __EDIT_VARS_BELOW_FOR_YOUR_ENV ALMHOME = path to ALM baseline and build scripts previously mentioned PATH = Add these to your path ALMUSER = The login name for CQ ALM of the user authorized to create Baseline and Build scripts. For example: ReleaseEngineer_ToDo ALMPW = The password for this user ALMDBNAME = the DB Name for the CQ ALM. For example: ALMRW ALMDBSET = The DBSET name. For example: SAMPLE Stop editing at __DO_NOT_EDIT_BELOW__ These are stored queries used by the projects
IBM Software Group | Rational software 00_ALM_NonUCM 00_ALM_NonUCM __OPTIONAL_EDIT_VARS_BELOW__ Given values will work fine for a demo ALM_PVOB_Project_ToDoNonUCM_Component For NonUCM this would be a “repository” for where files are stored. Since the demo doesn’t use a real repository a made up one is used ALM_PVOB_Project_ToDoNonUCM_Offering Same as above, a made repository ALM_Stream_Project_ToDoNonUCM_Component A made up “stream” or “branch” name. If a real external cm system were used this would be a real branch name
IBM Software Group | Rational software 00_ALM_Project_NonUCM_ALL Nothing to edit
IBM Software Group | Rational software 00_ALM_UCM __DO_NOT_EDIT_BELOW__ Don’t edit these These will be set by the 00_ALM_SETUP project later __EDIT_VARS_BELOW__ Get these from ClearCase UCM ALMPVOB = the name of your UCM PVOB: alm_demo_ ALM_Stream_Project_ToDo = Integration stream name for Project_ToDo: proj_comp_todo_ _Integration ALM_View_Project_ToDo = View on the integration stream of Project_ToDo: proj_comp_todo_int_
IBM Software Group | Rational software 00_ALM_UCM Continued ALM_Stream_Project_ToDoNAS = Integration stream name for Project_ToDoNAS: proj_comp_todonas_ _Integration ALM_View_Project_ToDoNAS = The view on the integration stream: proj_comp_todonas_int_ ALM_Stream_Project_ToDoOffering = Integration stream name for Project_ToDoOffering: proj_offering_todo_ _Integration ALM_View_Project_ToDoOffering = View on integration stream for Project_ToDoOffering: proj_offering_todo_int_
IBM Software Group | Rational software Nothing to Edit in Environments – just review 01_ALM_Project_ToDo 02_ALM_Project_ToDoNAS 03_ALM_Project_ToDoOffering 04_ALM_Project_ToDoNonUCM_Component 05_ALM_Project_ToDoNonUCM_Offering
IBM Software Group | Rational software Examples Projects supplied with ALM UCM examples Project_ToDo Agile, Create Activities when needed. All will be tracked with UCM Default “Task” and “Request” for project Project_ToDoNAS NAS = “Not Authorized to Submit” Example of a more strict project where ALMActivities must be assigned to a dev before they can work them in UCM Project_ToDoOffering “Offering” or “Product” level project Uses Composite Baselines to group components into an offering
IBM Software Group | Rational software Example Projects continued NonUCM examples Project_ToDoNonUCM_Component Time based rules to find activities completed since last Baseline Mixed UCM and NonUCM Project_ToDoNonUCM_Offering Uses Composite ALMBaseline record to group UCM and NonUCM components together
IBM Software Group | Rational software Build Forge Environments for ALM demo UCM 00_ALM_Global Login, DB info, and pointers to standard ALM queries used by all the ALM the projects Sections are Marked for what you should edit for your site __EDIT_VARS_BELOW__ 00_ALM_UCM Edit Section: __EDIT_VARS_BELOW__ Provide: PVOB, Stream Names, and integration View names Project ID’s will be filled out from 00_ALM_Setup_ENV project RUN THIS LATER when told to in this presentation 01_ALM_Project_ToDo Does nothing .include 00_ALM_UCM Setup just for consistency: When we get to NonUCM we will need to track more variables
IBM Software Group | Rational software Build Forge Environments for ALM demo UCM 02_ALM_Project_ToDoNAS .include 00_ALM_UCM 03_ALM_Project_ToDoOffering .include 00_ALM_UCM Stores Baselines and streams used in Composite for reference
IBM Software Group | Rational software NonUCM 00_ALM_NonUCM Stores variables and pointers to queries used by NonUCM projects 04_ALM_Project_ToDoNonUCM_Component .include 00_ALM_NonUCM 05_ALM_Project_ToDoNonUCM_Offering .include 00_ALM_NonUCM .include 00_ALM_UCM (both) Stores PVOB/Location and Baseline names from contributing components
IBM Software Group | Rational software 00_ALM_SETUP_ENV Build Forge Project Now is the time to run this project Step: Setup Project IDs Connects to ALM and queries ALM0000XXXX IDs of the Project_ToDo% and populates ENV variables: 00_ALM_UCM: ALM_Project_ToDo_ID ALM_Project_ToDoNAS_ID ALM_Project_ToDoOffering_ID 00_ALM_NonUCM ALM_Project_ToDoNonUCM_Component_ID ALM_Project_ToDoNonUCM_Offering_ID Check that these get set
IBM Software Group | Rational software “Seed ALMBaseline Records” “Seed ALMBaseline Records” are used to set an initial ALMBaseline for an ALMProject UCM uses these to diffbl with the first ALMBaseline record created after the seed. NonUCM uses the timestamp to query for ALMActivities completed on a project since the “Seed”. Once a normal ALMBaseline is created the seed baselines are no longer used.
IBM Software Group | Rational software 00_ALM_SETUP_ENV Continued Seed Project ToDo UCM Baselines Creates “Seed” Baseline Records For following ALM projects Project_ToDo Project_ToDoNas Project_ToDoOffering Input environment: 00_ALM_UCM ALMPVOB ALM_Project_ToDo_ID ALM_Stream_Project_ToDo ALM_Project_ToDoNAS_ID ALM_Stream_Project_ToDoNAS ALM_Project_ToDoOffering_ID ALM_Stream_Project_ToDoOffering
IBM Software Group | Rational software Seed Project ToDo UCM Baselines continued Creates baseline record in each of the above ALM Projects Next Baseline created will be able to diffbl to these seed baselines Baselines created after above baseline will diffbl with previous baseline
IBM Software Group | Rational software 00_ALM_SETUP_ENV Continued Seed Project ToDoNonUCM Baselines Creates “Seed” Baseline Records For following ALM projects Project_ToDoNonUCM_Component Project_ToDoNonUCM_Offering Input environment: ALM_PVOB_Project_todoNonUCM_Component ALM_Stream_Project_toDoNonUCM_Component ALM_PVOB_Project_todoNonUCM_Offering ALM_Stream_Project_toDoNonUCM_Offering Creates seed baselines for above. Timestamp of these baselines is used to query for ALMActivities completed since the seed
IBM Software Group | Rational software 00_ALM_SET_ENV Complete Check that Project_ID variables are set in Build Forge Environments Check that seed baselines are created Once complete you should be able to step through each demo presentation for each project.