Historically, building PMM Client or Server locally has been less than ideal and developer-friendly, if even possible. The build scripts seem to be hard to understand and difficult to maintain. Moreover, the current build scripts were made to run in a very specific environment, which is a Jenkins server running on an AWS EC2 instance. This is why, if one tries to build PMM locally using the build scripts, many things will go wrong and the build will fail.
We can change this for the better and make it possible to build PMM Client and Server locally. This can potentially bring along a number of benefits, namely:
a faster commit-build-test turnaround
reduced build times and lower infrastructure costs (need to leverage cache more actively)
it will attract more community contributions if properly advertized
Solution
Refactor the current build scripts or rewrite them from scratch so that:
both developers and community members can build PMM Client and Server locally
they become more structured and easier to contribute to (legacy code is refactored)
it gives an ability to build PMM for arm64
This epic will have to be done in phases, where individual tickets will address one build script at a time.
Problem
Historically, building PMM Client or Server locally has been less than ideal and developer-friendly, if even possible. The build scripts seem to be hard to understand and difficult to maintain. Moreover, the current build scripts were made to run in a very specific environment, which is a Jenkins server running on an AWS EC2 instance. This is why, if one tries to build PMM locally using the build scripts, many things will go wrong and the build will fail.
We can change this for the better and make it possible to build PMM Client and Server locally. This can potentially bring along a number of benefits, namely:
a faster commit-build-test turnaround
reduced build times and lower infrastructure costs (need to leverage cache more actively)
it will attract more community contributions if properly advertized
Solution
Refactor the current build scripts or rewrite them from scratch so that:
both developers and community members can build PMM Client and Server locally
they become more structured and easier to contribute to (legacy code is refactored)
it gives an ability to build PMM for arm64
This epic will have to be done in phases, where individual tickets will address one build script at a time.