Does CircleCI support using a customer AMI instead of Docker for running tests?

We are using AWS Image Builder to create a custom AMI for our EC2 instances. I would like to use this same AMI to run our tests. I see that CircleCI has the ability to “use” a custom AMI, but it appears as if only as an execution platform for Docker. Is this correct? Is there a provision to use a customer AMI as the testing platform itself completely separate and distinct from Docker? I don’t want to build a Docker container if we already have an AMI that does the job.

You would have to take an AMI based environment and install the self-hosted runner software onto it. This would then allow CircleCI jobs to be executed within the AMI based machine.

I do this currently with Ubuntu images that I currently have hosted at home, Scaleway and (work in progress) Amazon.

1 Like

That sounds like it would work for us. Are there more detailed instructions on how to do this? How do you configure the project to use your own AMI? Where is the self-hosted runner software located and how do you install it? Those types of things.

Thanx!
Richard

To be honest it is a lot of work to get started as there is a lot of documentation - most of it written by people who knew what they were doing when they started to write it. The starting point is

https://circleci.com/docs/2.0/runner-overview/

The docs do not lay out the steps that clearly as they somewhat start in the centre of the process and then expect you to work backwards, but I would say that the steps are the following (from memory)

The steps I have for Linux are

Install the CircleCLI - This needs an API token
Create a namespace - One-time task for the whole account and is linked to a single repository!
Create runner on namespace - this generates a long auth token string
configure launch-agent-config.yaml with the long auth token
setup the systemd agent
enable the system agent
reboot or start the systems agent

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.