Based on the @nicbet talk on Elixir/Docker and his approach to CI I am investigating the possibility of building a Circle CI clone with an automated buildserver using Docker and a custom Docker registry. The idea would be to have Elixir based UI management tool that will take a docker file and a repository as inputs and then based on that create a new docker container with the code baked in, execute the test suite, and if it passes, save the image and push it to a Docker registry. The UI would use websockets to update the client on the progress of the various steps (something like Drone CI and Circle CI). I am currently looking at the docker API to figure out a best approach, however, I have been able to get most of the infrastructure in place already (Docker servers, Private Docker Registry). Here are the victory conditions:
🥉 Proof of concept of a working CI solution based on input of a dockerfile and a repository
🥈 Distributing CI application as a complete docker solution
🥇 Scaling to run multiple CI Pipelines concurrently on one or more docker servers
Based on the @nicbet talk on Elixir/Docker and his approach to CI I am investigating the possibility of building a Circle CI clone with an automated buildserver using Docker and a custom Docker registry. The idea would be to have Elixir based UI management tool that will take a docker file and a repository as inputs and then based on that create a new docker container with the code baked in, execute the test suite, and if it passes, save the image and push it to a Docker registry. The UI would use websockets to update the client on the progress of the various steps (something like Drone CI and Circle CI). I am currently looking at the docker API to figure out a best approach, however, I have been able to get most of the infrastructure in place already (Docker servers, Private Docker Registry). Here are the victory conditions:
🥉 Proof of concept of a working CI solution based on input of a dockerfile and a repository 🥈 Distributing CI application as a complete docker solution 🥇 Scaling to run multiple CI Pipelines concurrently on one or more docker servers