ENGINEERING SERVICES

CI/CD and software delivery automation

Reusable Jenkins delivery workflows that connect Windows and Linux builds, tests, packaging, and deployment artifacts into a repeatable process.

Where this work fits

At Flight Level Engineering, I built organization-wide Jenkins CI/CD from the ground up, using reusable Jenkins shared libraries and multibranch pipelines across multiple projects. Windows and Linux workflows automated builds, tests, packaging, and deployment artifacts, improving reproducibility and reducing manual work. This experience supports delivery automation that gives teams consistent shared behavior while preserving each project’s build and release requirements.

Problems I work on

  • Each project carries its own copy of build and packaging logic, so fixes require repeated changes and conventions drift.
  • Windows and Linux delivery paths rely on different manual steps, making it harder to understand what a successful build actually includes.
  • A usable package depends on knowledge held outside the repository or on someone remembering the correct sequence of actions.

How I approach the work

  • Map the real delivery path before automating it: source inputs, build tools, test steps, packaging requirements, and the artifacts needed downstream.
  • Put genuinely shared behavior into reusable pipeline components while keeping project-specific choices explicit and easy to find.
  • Treat Windows and Linux as deliberate execution environments rather than assuming that a command working on one platform establishes the other.
  • Make artifact creation part of the workflow so the pipeline produces something useful beyond a successful compilation. Favor reproducibility and maintainability over clever pipeline abstractions.

Technologies and environments

JenkinsGiteaCMakeNinjaMSVCDockerWindowsLinuxPython

Frequently asked questions

Does this include mixed Windows and Linux environments?

Yes. Professional experience includes Jenkins workflows covering Windows and Linux builds, tests, packaging, and deployment artifacts, with shared pipeline logic reused across projects.

How can shared pipelines support different projects?

Jenkins shared libraries provide reusable build and delivery behavior, while multibranch pipelines and project configuration accommodate different repositories and requirements. Common changes can be made in shared logic instead of repeated across independent workflows.

A DIFFICULT PROBLEM IS A GOOD START.

Let’s connect the pieces.

Discuss an engineering project, a technical role, or a challenging integration.

Discuss a project