Building VMs for CODE-RADE builds

In the beginning At the start of CODE-RADE we had the idea to build executable applications in dedicated environments, and then ship them. The platform which built Foundation Release 1 consisted of a single Jenkins server, with two virtual machines attached as build slaves, with a few executor (build slots) each. These were statically-provisioned machines with the relevant operating system on them1. We used the most common executor method for builds, the ssh build slave, and this worked very well for an initial demonstration. It was easy to see what the slaves were doing, and there were actual machines to...…

read more...

Updating CODE-RADE Build Containers

Another in a series of “state-of-development-consciousness” blog posts. In this one, we try to update the AnsibleContainer project for the CODE-RADE build containers. :tomato: 1 Now playing “Backlash”, by Black Joe Lewis and the Honeybears Create a new branch of the repo Clean out container.yml to contain just one of the services. Pull base containers from quay.io There seems to be a change in the way the data volumes are handled The data volumes needed are to provide persistence across builds and sites for build products, modulefiles, setup files, etc. This was previously done using volumes_from directives in the services,...…

read more...

Delivering CODE-RADE environments

How do we get CODE-RADE where it’s needed ? CODE-RADE is a repository of pre-built applications for arbitrary environments - just mount the CVMFS repo, add the relevant application to your shell, and boom you’re down with the science. But kids these days are all about the instant gratification. They don’t want to sit around editing configuration files, running playbooks! If you can’t give them a docker image to run, they will pass you right by as if your awesome project didn’t even exist. Maintaining the Cambrian explosion In the container world this is almost trivially easy in most cases...…

read more...

Transient Access to Persistent data for CI

One of the main reasons we built CODE-RADE was to ensure that only the good stuff gets into the application repository. We want site maintainers and administrators to rest safe in the fact that mounting this repository is reliable, which is why we put such a high premium on testing. The CODE-RADE pipeline We tentatively compile things based on scripts in a repository, then test them in an ephemeral but reproducible environment. This environment needs to be augmented by the products from previous builds, since CODE-RADE builds atomically. We need a repository of the artifacts in this environment to be...…

read more...