Skip to content

bugzilla/harmony-systems

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bmo-systems repo is responsible for:
  1. generating tarballs of the perl dependencies ("vendor bundles")
  2. uploading the above to an amazon s3 bucket
  3. generating several related docker images

How-To

Add perl dependencies to BMO

Adding dependencies to BMO (or bugzilla in general) involves adding them to Makefile.PL. Getting these dependencies deployed to our infrastructure is more complicated.

For each type of bundle we produce, you need to run the docker container mozillabteam/PLATFORM. Currently PLATFORM is centos6 and ubuntu14. From inside the container, run the following:

source /build/env.sh
git clone --depth 1 https://github.com/mozilla-bteam/bmo.git
cd bmo
cp ../cpanfile.snapshot .
$PERL Makefile.PL
make cpanfile GEN_CPANFILE_ARGS="-D bmo"
$PERL $CARTON install

After that, use 'docker cp' to copy build/bmo/cpanfile and /build/bmo/cpanfile.snapshot to bundle/PLATFORM and commit them.

Upgrade perl dependencies

This is the same as adding a dependency, except instead of "$PERL $CARTON install" you run "$PERL $CARTON upgrade".

Configuration

docker jobs

jobs that build docker containers (bmo-base, bmo-ci, etc)

bmo-base

bmo-ci

bmo-slim

docker-centos6

docker-ubuntu14

bundle jobs

All the jobs below are used to build collections of the perl dependencies that BMO needs.

centos 6 job

This job creates the 'bmo' bundle, which is for use on centos 6 or RHEL 6 machines. This is what production, vagrant, CI, and so on use.

ubuntu 14.04 job

This job creates the 'mozreview' bundle, which is used by the version-control-tools bmoweb container. It is used for mozreview and probably some other systems and is a huge burden that makes me sad.

upload job

This job just collects vendor.tar.gzs from other jobs and uploads them to an amazon S3 bucket.

Other pieces of code

Some bits of configuration used in multiple locations

buildbundles steps

The following list of steps are used on all jobs that build vendor tarballs.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Perl 48.4%
  • Shell 28.7%
  • Dockerfile 18.6%
  • Makefile 4.3%