- <html>
- <head>
- <title>Cabie Overview</title>
- </head>
- <body>
- <p>
- Continuous Automated Build and Integration Environment. Cabie is a
- multi-platform, multi-cm client/server based application providing both
- command line and web-based access to real time build monitoring and execution
- information.
- </p>
- <h3>Mission</h3>
- The mission for CABIE is to centralize projects within a large
- company built by different development groups, utilizing unlike toolsets,
- languages and cm tools. The centralization happens by deploying CABIE
- within each group, CABIE handling all build jobs, and centralizing all data
- collection in a single location using a database backend.
- <h3>Features</h3>
- <ul>
- <li>Command line interface</li>
- <li>Daemon/Windows Service support</li>
- <li>Web interface</li>
- <li>Rapid email notification</li>
- <li>MySQL support for configuration and data collection</li>
- <li>Watchdog system for late jobs or insufficient resources</li>
- <li>Pre/Post/Fail triggers</li>
- <li>Email Subscription Mechanism</li>
- <li>Dual mode operation (admin/user)</li>
- <li>Job/disk reclamation</li>
- <li>Client/Server command redirection</li>
- <li>Automatic job numbering</li>
- <li>Automatic job locking</li>
- <li>CM Abstraction</li>
- <li>Support for any build called from the command-line</li>
- <li>Series or Parallel build operations</li>
- <li>Command recording/Playback</li>
- </ul>
- <h3>Project Status</h3>
- CABIE does not yet have an installer, and the README has not been completed.
- Although it does work there still may be some additional web files missing. If
- anyone is interested in deploying it in it's current state please drop me email
- and I will guide you through the setup and configuration.
- <h3>Related resources</h3>
- <ul>
- <li><a href=http://www.perforce.com>Perforce</a></li>
- <li><a href=http://www.cvshome.org>CVS</a></li>
- </ul>
- <h3>Current supported command set</h3>
- <pre>
- <b>adduser</b>:
- adduser -p port -u username -f first -l last [-m mail ] [-g group]
- Add new user to CM server
- <b>authorize</b>:
- authorize -c computername
- authorize computername to control builds
- <b>authorized</b>:
- authorized
- display list of computers authorized to control builds
- <b>build</b>:
- build -n jobname [-j jobno]
- <b>buildlog</b>:
- buildlog -n jobname -t retail|debug
- retrieve buildlog of defined job
- <b>changed</b>:
- changed -n jobname -j jobno [-e endjobno]
- Display list of files updated for job jobno
- <b>clone</b>:
- clone -n oldjobname -c newjobname
- Create new job by copying oldjob configuration
- <b>commands</b>:
- commands -l -w
- Display supported command set
- <b>connectlog</b>:
- connectlog [-l limit]
- display client connection log [limit to limit number of recs]
- <b>createjob</b>:
- createjob -n jobname
- -p (p4 port/cvs root)
- -c (p4 client/cvs module)
- -r sourceroot
- -t debug|retail|both
- -d toolsdir
- -k keeplevel
- -s sccs
- -b browserlink
- -m global failure notification
- -C "comment"
- [-D] dump existing job in cmd line format
- <b>cvsperms</b>:
- cvsperms <list|project> <module> "users"
- Update module userlist
- <b>debuglog</b>:
- debuglog -n jobname
- complete debug log of defined job
- <b>deluser</b>:
- deluser -p port -u username [-f first -l last -g group]
- Remove user from CM server
- <b>describe</b>:
- describe -n job
- describe charastics of defined job
- <b>disable</b>:
- disable -n job
- Disable build job
- <b>dumpconfig</b>:
- dumpconfig
- Display buildserver configuration loaded from buildconf.pm
- <b>elapsed</b>:
- elapsed -n job
- Display elapsed time for current build job
- <b>enable</b>:
- enable -n job [-f -k]
- Enable build job
- [-f force semaphore removal]
- [-k kill running build process] (requires -f)
- <b>errorlog</b>:
- errorlog -n jobname -t retail|debug
- retrieve errorlog of defined job
- <b>free</b>:
- free -n jobname -j jobno
- Release locks allowing jobno for build jobname to be deleted
- by the buildserver
- <b>genweb</b>:
- genweb -n joblist -l limit
- Generate web view of buildserver status for jobs in joblist
- Display up to last limit jobs
- <b>getid</b>:
- getid
- Display buildserver process ID
- <b>help</b>:
- help [command]
- Display [command] usage
- <b>incomplete</b>:
- incomplete -n jobname [-l limit]
- Will display (optionally limit) build numbers of failed builds
- for jobname
- <b>instructions</b>:
- instructions -n jobname
- instructions for building a defined job locally
- <b>joblog</b>:
- joblog -n jobname
- complete run log of defined job
- <b>jobstate</b>:
- jobstate
- Display buildserver job status
- <b>keep</b>:
- keep -n jobname -j jobno [-c comment]
- Keep jobname for build jobno from being automatically deleted
- <b>kill</b>:
- kill -p pid -s signal
- kill process by PID (see ps) on the server
- <b>lastchange</b>:
- lastchange -n jobname [-l n]
- display last [n] updates for jobname.
- <b>laststart</b>:
- laststart [-l n]
- display last [n] buildserver starts
- <b>nextjob</b>:
- nextjob -n jobname
- display updates CM system will make for jobname with next sync
- <b>notify</b>:
- notify -n jobname -f firstjob -l lastjob -c comment
- Send email with comment to all submitters of jobname
- from firstjob to lastjob
- <b>promote</b>:
- promote -n jobname -j jobno -c "comment"
- Promote jobname jobno for formal testing
- <b>ps</b>:
- ps options
- Build Unix style process table on the server
- <b>recover</b>:
- recover -n jobname
- Recover active jobs accidently removed by enable command
- <b>rejectlog</b>:
- rejectlog [-l limit]
- display client rejection log [limit to limit number of recs]
- <b>removed</b>:
- removed
- display jobs no longer under the buildserver's control
- <b>removejob</b>:
- removejob -n jobname [-f]
- Remove defined job from the buildserver [-f permanent deletion]
- <b>restorejob</b>:
- restorejob -n jobname
- Add previously defined job back to the buildserver
- <b>runstats</b>:
- runstats -n job [-l number -a -r]
- Display statistics for [optionally -l] last build jobs
- -a displays only the average build time
- -r displays raw time in ticks (seconds) useful
- for feeding into a script
- <b>servers</b>:
- servers
- display other build servers
- <b>shutdown</b>:
- shutdown
- shutdown buildserver processes
- <b>status</b>:
- status -n job
- Check build status
- <b>subscribe</b>:
- subscribe -n jobname -e emailaddress
- subscribe for automatic email notification of defined job
- <b>subscribers</b>:
- subscribers -n jobname
- display email subscription list for a defined job
- <b>synclog</b>:
- synclog -n jobname
- retrieve synclog of defined job
- <b>sysinfo</b>:
- sysinfo
- display hardware/software configuration for server
- <b>unauthorize</b>:
- unauthorize -c machinename
- remove computername from authorization list
- <b>unsubscribe</b>:
- unsubscribe -n jobname -e emailaddress
- unsubscribe from automatic email notification of defined job
- <b>whatsnew</b>:
- whatsnew
- display latest changes made to the build server
- </pre>
- </body>
- </html>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 4697 | Eric Wallengren | Adding files for CABIE | 20 years ago |