GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
CLS Process Variable Database By: Diony Medrano. CLS PV Database - Topics Background Design Constraints Design and Implementation Benefits and Future.
Trnsport Test Suite Project Tony Compton, Texas DOT Charles Engelke, Info Tech.
Tutorial 8: Developing an Excel Application
1 Generic logging layer for the distributed computing by Gene Van Buren Valeri Fine Jerome Lauret.
Server-Side vs. Client-Side Scripting Languages
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 8: Designing and developing applications for z/OS.
Revising Riverbot Outline and Specifications Christian Skalka.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Developing the NSDL User Portal Dean Krafft, Cornell University
Website Development with PHP and MySQL Introduction.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
CGI Programming: Part 1. What is CGI? CGI = Common Gateway Interface Provides a standardized way for web browsers to: –Call programs on a server. –Pass.
Chapter 6: Hostile Code Guide to Computer Network Security.
Julie McEnery1 Installing the ScienceTools The release manager automatically compiles each release of the Science Tools, it creates a set of wrapper scripts.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 7: Designing and developing applications for z/OS.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Comp2513 Forms and CGI Server Applications Daniel L. Silver, Ph.D.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Module 14: Configuring Print Resources and Printing Pools.
Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
PHP With Oracle 11g XE By Shyam Gurram Eastern Illinois University.
NICOS System of Nightly Builds for Distributed Development Alexander Undrus CHEP’03.
Website Design Lecture 1. Outline Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why.
The huge amount of resources available in the Grids, and the necessity to have the most up-to-date experimental software deployed in all the sites within.
1 / 22 AliRoot and AliEn Build Integration and Testing System.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
CS4710 Why Progam?. Why learn to program? Utility of programming skills: understand tools modify tools create your own automate repetitive tasks automate.
Guide to Linux Installation and Administration, 2e1 Chapter 11 Using Advanced Administration Techniques.
Module 8 : Configuration II Jong S. Bok
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
| nectar.org.au NECTAR TRAINING Module 9 Backing up & Packing up.
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
SharePoint Workflow Prepared By: Eng. Rasha Farouk.
Aaron Corso COSC Spring What is LAMP?  A ‘solution stack’, or package of an OS and software consisting of:  Linux  Apache  MySQL  PHP.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
2nd year Computer Science & Engineer
Computer & Network Security
Distributed Control and Measurement via the Internet
Essentials of UrbanCode Deploy v6.1 QQ147
Working in the Forms Developer Environment
Archiving and Document Transfer Utilities
Shared Services with Spotfire
Introduction and Principles
CSCI-235 Micro-Computer Applications
PERL.
PCOLS PCOLS REPORTING.
LCGAA nightlies infrastructure
Web Applications Security What are web Applications?
Introduction to Programming the WWW I
Introduction to Operating System (OS)
PHP / MySQL Introduction
Building and Testing using Condor
Printer Admin Print Job Manager
Database Driven Websites
TRANSLATORS AND IDEs Key Revision Points.
Chapter 2: System Structures
Using JDeveloper.
Analysis models and design models
A Short Course on Geant4 Simulation Toolkit How to learn more?
A Short Course on Geant4 Simulation Toolkit How to learn more?
An Introduction to JavaScript
Web Application Development Using PHP
Presentation transcript:

GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible for automated builds of GLAST code. It is based on code originally written by Alex Schlessinger. It consists of three loosely connected pieces: The batch submission interface, the Workflow manager, and the Release Manager scripts. The Release Manager is currently able to run on Linux and Windows. Using a batch interface the Release Manager is able to provide feedback to developers about their code changes within two hours while still allowing for simultaneous builds. A side effect of the Release Manager is the ability for automated binary distribution of every change made to the code. An archive of each build is made available to the public via FTP as well as an installer utility developed separately. Purpose Language The purpose of the Release Manager is to Give quick feedback to developers Automate packaging of binaries and source code for developers and end users Provide a wrapper around the build tool of GLAST (CMT) The Release Manager is written in Perl. It makes use of several modules available including HTML::Template. The choice of Perl has several advantages including Quick deployment Platform independence Excellent shell interaction and regular expression engine Batch Submission Workflow The batch submission interface is to allow simplification of the Release Manager. The scripts responsible for building will be simpler because the batch submission interface is responsible for Keeping track jobs running in the batch farm Notifying when a job as finished executing Hiding the batch farm details to allow interaction with different batch farm systems The Workflow module is a generic interface to transition from one script to another based on certain criteria. Its main purpose is to remove the logic for determining the next script to execute. This allows the scripts to perform the required task without cluttering the code with logic not necessary to its task. Database Scripts The Release Manager itself consists of several simple scripts that each perform a single task. The goal of these scripts is to be simple so major problems are prevented. Each script is represented as a different state in the Workflow system. Rules are entered into the workflow system to determine which script is executed next. The scripts perform simple tasks such as: Checking out the code from CVS Compile the code Run test applications on the compiled code The Release Manager uses MySQL as its database backend. It relies on version 4 or higher due to the foreign key constraints offered by it. User Feedback The user is informed of the status of the Release Manager in several ways. All the builds the Release Manager is performing and past builds are available via a webpage to the user. The webpage contains detailed information about each build. The CGI applications are written in perl as well and use HTML::Template and HTML::Template::Expr heavily to separate HTML and code. All the HTML is written using XHTML 1.0 Transitional standard and validates using the W3 validator. A second form of feedback to the user is via emails. When errors are detected the Release Manager attempts to determine the Author responsible for the package causing the error. If the Author is found, an email is sent to the Author notifying them of the problem. If the Author is not found an optional email address can be specified where all errors are reported. User control Several aspects of the Release Manager can be controlled by users. The web interface provides several forms that allow the user to change information about the Release Manager. These include functions such as promoting tags and adding/removing packages. Most of these functions are restricted to logged in users and further restrictions can be applied to each logged in user. Further, users are given permission to hide builds that are considered bad. These builds are hidden from others unless they specifically request to see them. Finally, users are allowed to erase entire builds or parts of builds. Parts of builds that can be deleted include generated source code, documentation, build files, etc.