About Jenkins/DevOps
Jenkins is an open-source automation server that helps automate tasks related to software development, including building, testing, and deployment.
My Contributions
While working at UP360, I took on the role of managing our Jenkins systems and improving them. During the two years I managed Jenkins, I accomplished the following:
Convert Our Existing System From Freestyle to Pipeline
As our projects began to grow in scale and complexity, I realized that our backend solution for compiling, testing, and delivering builds to clients also needed to evolve. I then pitched the idea of transitioning to a Pipeline to UP360 and began working on it. Over the course of two months, I was able to implement this change.
The major benefit of switching to a Pipeline is that we can now input parameters on a per-build basis. Since all our projects are completed using the Unreal Build Tool (UE5), I was able to pass parameters such as the maps to include and the build configuration. With the Pipelines in place, we can also monitor each step of the process, including building, testing, and deploying.
Enhancing Automated Tasks
As the project complexity increased over time, the company recognized the need for greater automation in our backend DevOps systems. Consequently, I was assigned the responsibility of creating automated systems for various tasks, including generating new Unreal Engine projects, updating our Unreal Engine version, building lighting for our maps, and developing tools to automatically test and collect data from our simulations.
What Tools Did I Use?
While working on UP360's DevOps tasks, I was able to utilize and eventually become proficient in the following tools and pieces of software.