Problem. How to trigger
Docker Autobuilds based on external event, but not GitHub commit/tag?
Our problem looks like this: we build Docker images based on RPMs – every time new tag is created in GitHub repository, RPMs are build and uploaded to company’s server. However, thing to mention here – after new tag is created in GitHub we still need to wait 30 min or so for the RPMs to be built. Then, whenever we want to build new Docker image, we take those RPMs and install it as part of Docker build procedure. Basically, every time we build RPM, we build Docker images afterwards as well. Docker build currently is done manually and the idea is to automate it. So in general, the overall process looks like this:
- Create new tag in GitHub;
- Wait for the RPMs to be built (~30-60min);
- Manually build Docker images.
I’ve been looking into ways how to automate Docker build procedure. One of the options was to use
Docker Autobuilds, however, problem here is that
Docker Autobuilds are triggered by the commit or new tag in the Github repository, while in our case, even though we have a new tag, we still need to wait for RPMs to be built and uploaded to a common repository from where we could use it. So, in other words, in our case the trigger is not tag or commit, but RPM uploaded to the server. I know that there exits
Advanced options for
Docker Autobuilds and one could specify
pre_push, etc commands for building Docker images. However, I am not quite sure how in our case customize it to run a check if RPMs are already uploaded to the server so that we could start Docker build step. So, out of what I wrote I here, two questions follows:
- Does anyone had similar problem like the one described above? if yes, how did you solve it? For instance, did you use
Docker Autobuilds, some other 3rd party tools to automate Docker build step?
- Is it possible to customize
Docker Autobuildsso that they would be triggered by the external event which is not tag/commit, but like in our case RPMs uploaded to the server?