Remote Network And System Administration Job In IT And Networking

Recommendations to make the build pipeline fail fast

Find more Network And System Administration remote jobs posted recently Worldwide

Our business project builds use our own toolchain, which in itself is composed of multiple projects.
The main reason for having our ow toolchain is that it enforces strict QA assurance rules. We tune those rules from time to time to be even stricter.
Changes in the components take a long time and manual work to complete, and problems are often only apparent when we actually build a business project with the new version.

You job is to take a look at the toolchain and come up with a set of recommendations to make it faster, more automated, and fail faster.

This job is the basis for other ones, most notably actually implementing the recommendations.

We have complex inter-project dependencies:
-- toolchain is our build container.
--- It depends on zenta-tools through a debian repository which we are updating manually at the moment
---- zenta-tools depends on metamodel in a soft way: the projects depend on a specific version of the metamodel, and some functions are dependent on that
--- toolchain tests itself by executing (hence depending on)
---- cdd a java-based business project, and
---- astinxml, a python-based business project

All the mentioned projects are public on github.

More information on the build pipeline:

All of the builds use docker containers, and build with shippable. You can find a reference to the docker container used in shippable
Our projects all use the toolchain container, the zenta ones not yet.

At the bottom of the pit sits zenta. It is an architecture modeler
Zenta is deployed to a debian repository. We include it into the repository by hand. You will find the exact coordinates in the Dockerfile of toolchain

Next is toolchain. It creates the docker container. This docker container is the basis of all of our business project builds.
It is versioned, and the builds use a specific version.
It uses zenta, zenta-tools, and a couple of other things, including modified versions of one or two projects. The modified versions are built from source.

As a check, toolchain runs the build for cdd and astinxml, a java based and a python based project. If any of those builds fail, it does not deploy.

After that come to our projects, cdd and astinxml, which depend on a specific version of the toolchain. We have a couple of other projects which uses toolchain, these projects are just the ones we test on.
After a change in the toolchain, the build of the business project can fail for two kinds of reasons:
1. some components in toolchain (or its components, zenta, and zenta-tools) have a problem.
2. some deliberate changes in toolchain or its components brought in stricter QA rules, to which the business project is not up to yet.

In a lot of cases we modify zenta-tools or the toolchain to remediate some build problems, or enhance the build.
It often brings in incompatible changes, which means that winterboot and cdd should be modified to still build.
Getting all the changes through the chain of zenta-tools, toolchain, cdd and winterboot takes a lot of time, and most of the time is spent on waiting the builds and seeing them fail.

To build the business projects with the new toolchain, shippable.yml should be modified. Which means that the toolchain should look up a list of projects wanting to be triggered, create a new branch, modify shippable in that branch, and build that branch for each of the projects.

In all of the toolchain-based projects you can issue the tools/testenv command, which puts you in the build container. In the container you initiate the build with the Script command. In zenta it is make testenv and bin/script in zenta-tools some combination thereof.
About the recuiter
Member since Nov 11, 2022
Akhil Paul
from Lombardia, Italy

Skills & Expertise Required

software development 

Candidate shortlisted and hiredHiring open till - Jul 15, 2024

Work from Anywhere

40 hrs / week

Fixed Type

Remote Job

$191.04

Cost

Looking for help? Checkout our video tutorial
How to search and apply for jobs

How to apply? Do you have more questions about the Job?
See frequently asked questions

Similar Projects

Mobile app module

Mobile app login functionality required for existing website to be coded in react native to work in android and ios

Web Hosting / Wordpress / PHP Guru Needed!

I need someone who is an expert at hosting backend / cpanel / file management to clean up my hosting package and provide advice.

Help manually remove metasploit payload from iPhone

Are you a penetration tester or kali linux/metasploit user?

We will have a meeting on skype to help walk me through how to remove metasploit payload on my hacked device. The deliverable is to help me manually remove metasploit payload(s) fro...read more

Seagull Scientific Bartender- Powershell Scripting support

Dear Applicants,

We require scripting support to resolve errors on power shell script errors using Bartender
Want to arrange remote log in to run through errors and clear up errors or create a better solution

Powershelll script...read more

Linux System Administrator with good experience in Open SSL

I need a system admin to handle handshake error due to difference in cipher suite.
I will provide a complete details of The TLSv1.2 cipher suite on my server when job is awarded.