STRG is constantly working to improve the productivity and quality of its work by using the best software tools and platforms currently available. Nowhere is this more important than in our development team. Recently, we migrated our system for managing software development to GitHub. The process required a great deal of planning and preparation, but the results are already paying off!
While most Austrian companies take their summer break in August, work at STRG continues without interruption. In addition to our ongoing workload, STRG employees carried out an important internal infrastructure project this year: reorganizing the entire STRG developer data library and migrating it to the GitHub hosting platform. “Git” is a “distributed version control system”. It is free, open-source software used by developers to coordinate collaborative programming work. The software can be implemented in a standalone network or in a cloud-based hosting service.
The basic concept of Git is that all the different versions of the code are stored, controlled, and made accessible to everyone. So when something is changed, it can be reviewed and merged easily, and if a SNAFU occurs in the latest version, a previously stable version can be restored easily. The branching model enables programmers to create or modify a function of the code without changing the main code structure.
Today’s software development systems are becoming increasingly complex and create a high barrier to entry for new developers and contributors. Even for an experienced software development company like STRG, it is almost impossible for a single person to maintain a complete overview. STRG needed to reduce this complexity so that every programmer can access a resource whenever they need it. Processes have to be fully automated and streamlined so that developers can focus on their collaborative work and ensure quality.

Before the migration to GitHub could be carried out, however, some housekeeping was necessary. Jasmin Müller, who drives continuous improvement at STRG, took on the challenge: “This is a standardization process that defines the naming conventions for each code repository. Over the years, these conventions evolved and led to differently named folders containing similar data. So this was a good opportunity to analyze our existing data structures. We created a huge Excel spreadsheet containing around 800 repositories.
Jasmin prepared the migration, researched the requirements and dependencies, roughly defined the to-dos, and made sure that all stakeholders were on board. After several planning meetings, the details were refined and a detailed migration plan was created. “The migration plan enabled us to plan our work in JIRA [project management software] and make it efficient, so there were no interruptions for our employees or our customers’ systems. The development team needed only a few commands to switch to a new Git source. It was smooth and simple.”
However, it was not entirely without minor issues. From the beginning, it was not clear whether all our pipelines would work when the open-source tool Jenkins CI(continuous integration) was integrated into GitHub. Jenkins is an important tool for automating deployment and pipelines. After changes are pushed to a repository, Jenkins tests the code, checks whether it is formatted correctly, and whether it has already been deployed to a server. Eventually, a way was found to convert Jenkins so that it works in the GitHub environment. In addition to integrating the Jenkins CI tool, GitHub also fully integrated JIRA and transparently references all Jira tickets.
“In short, GitHub improves all the communication and automation that makes agile, collaborative programming possible, while ensuring permanent documentation.”
STRG had already been using the Git platform from Bitbucket for several years, but maintaining standardization proved difficult because configuration parameters were applied in interfaces. This made them prone to errors: Over time, configuration deviations increased the effort required to onboard contributors and often led to permission issues and inconsistencies. Standardization is critical if a company wants to grow, and this was one of the main reasons why STRG decided to migrate to GitHub(a Microsoft subsidiary). GitHub not only hosts the software code, it also enables us to automate more of the software lifecycle, from quality assurance and bundling through to shipping and deployment.
“With such a powerful tool, I already have many improvements in mind,” says Nils Müller, team lead and software architect at STRG. “We run GitHub workflows and actions in our Kubernetes cluster, which is managed according to GitOps principles, as well as in the underlying Google Cloud infrastructure. This enables us to automate tasks in the development lifecycle in a declarative and easily configurable way.” After structuring the repositories in the Excel spreadsheet, we generated infrastructure-as-code definitions based on this data source. “Instead of laboriously clicking through the GitHub interface to create or rename repositories, we could finally simply write a configuration file and commit it to Git,” says Jasmin Müller. “Now everyone in the company can simply create a Pull-Request on GitHub to add or change repositories. Terraform helped us standardize our structure with templates and default parameters.”
Pull requests require a review before they can be merged into the main branch. The merge triggers an action (CI) that has Terraform compare the defined resources, the desired state, with the current state.
When STRG was looking for Git hosting services, it also evaluated GitLab. While it offers a wide range of features, many were not particularly useful for STRG. GitLab’s all-or-nothing subscription model was too expensive. GitHub costs more than Bitbucket, but offers a broader range of features that are useful for STRG and enable us to take automation and standardization to a new level. Together with the higher productivity delivered through automation, this will prove to be a sound investment in the long term.
GitHub’s security and stability are extremely reliable, and its processes are well maintained, making it a favorite in the open-source developer community. STRG has started implementing DevOps and GitOps principles across the company. This migration was a major step toward giving our developers more responsibility for the code they create and deliver – a step toward „shift left“.
by Jasmin Müller and Nils Müller
