L'Hospitalet de Llobregat, Catalonia, Spain
Automation, Build-Management, Software Configuration Management, Deployment In IT since 1997. Self-Employed since 2001. More than 16 projects in these years. To stay up to date with the demands of our profession i chose to switch between projects after 12 but before 24 month. My main focus is on automating everything after the software is written and checked into the Version Control System till the Administrators take over the maintenance. I improve or design Build-Systems with Jenkins, Gitlab CI/CD or whatever system is in use in the company. I ensure automated tests are reproducible and isolated from side effects. I maintain build files. I make sure artifacts are stored reliably, with backups. My tool of choice is Artifactory but there are others. I automate developer and build environments. I automate the release process. I automate installation and configuration of releases.
In those two and a half years i did three projects for the company. It started with helping the company taking over maintenance for a C/C++ legacy project (1990). The source code had to be * moved from cvs into git * moved from a proprietary legacy unix to linux * adjusted from the legacy hp compiler to a modern gcc We did the required build and source code adjustments and got the system up and running in the new environment. Next i did some Build-Management for a Java Project. Overhauled the existing Jenkins instance in the usual way * fully automated setup (Jenkins Configuration as Code, Job-DSL Jenkins Workflow) * All Jobs improved (Code-Quality, Text Execution) * Test-Environment isolated/improved with docker * Release job fully automated. After that we went to improve the Unix infrastructure based on Proxmox. * Setting up an Artifactory Repository as the main storage for all artifacts (rpm, maven, docker, python eggs, release packages) * Building golden Images with packer for Proxmox (in Jenkins). * Using Ansible to turn those golden images into real VMs (in Jenkins) * Using Ansible to afterwards take over the VMs and install the required software and configuration * Join the Linux Machines into the Windows AD for SSO. At the end of the project we could add new Jenkins Server from scratch fully automatically in 20 minutes after declaring them in the ansible inventory without further manual intervention We finished this by redoing some of the critical infrastructure servers.
Complete overhaul of the existing Jenkins instance. * Setup fully automated with JCaC (Jenkins Configuration as Code) and Job-DSL / Jenkins Workflow Plugins * Isolated Test-Environments by utilizing Docker Compose. * Release Jobs improved and fully automated (Unit Tests active, Sources Tagged, Delivery Package built, archived and delivered) * Nightly Code-Quality Jobs implemented
The project was a roof of concept to show that the setup of ChatBot could be provided as a service inside the company. I had the usual Jenkins Build-Management responsibilities with Gitlab Ci/CD and Jenkins (CI/CD Jobs, Release Jobs). Additionally i implemented the overall logic to trigger the different parts that actually did the setup.
After the last project finished i didn't have the drive to immediately seek a new challenge and instead focus a bit on myself. Spent two month in Las Palmas de Gran Canaria, cared for my dad and just lived.
For a project maintaining the in-house developed rich-client (eclipse based) and backend (wildfly) the build- and delopment-process was improved. * For the Jenkins an automated setup / backup was implemented (Job-DSL, Docker, Python) * For the Jenkins all jobs were redone generated by Job-DSL with a reclass inventory * The deployment process with Ansible was redesigned for more parallelization and split into Cycles check, prepare, shutdown, switch, startup to minimize downtime of test and production environments.