My current set up:
I have a nodejs application whose codebase is maintained on GitHub and the application is deployed on AWS EC2 through a manual deployment.
What I want to achieve?
I would want to automate this process. But when I was going through the documentation of CircleCI, every sample file had the either docker or machine executors. But since my application is containerised how do I automate the process of deploying my application on EC2 directly without using docker or ECR or EKS or S3.
Any suggestions or guidance would be a lot helpful. Thanks in advance.
I’m not sure CircleCI has focussed much on enabling their solution to run without some form of a runner being defined as it is the use of the runner and its data storage and egress I/O that generates their income stream. It was only at the start of the year that all account holders gained access to the ability to operate self-hosted runners which greatly reduces the charges that a user can incur (and the reason why I started to use their service).
If you can do everything you want from within .circleci/config.yml the simple answer is to just start up the smallest possible executor. Even on the free plan this would allow you to run the smallest Linux based docker executor for 100 hours a month at no cost to yourself.
I’m guessing that your deployment involves running commands directly on the target machine that retrieve artefacts from GitHub and so there is no real reason for an intermediary system to be run up via an executor.
You should also raise this via the support line as the whole point of the free offering is to gain customers that will use more services over time. If they are happy to charge 5 credits per min for their smallest executor that consumes real resources it would make sense for them to provide a null executor at a lower per min fee.
Thank you @rit1010 for the response.
You are right, my deployment involves running a script on my ubuntu server, where this script has series of commands to pull/ retrieve the artefacts / code from my GitHub repo and deploy them on the EC2 instance.
I have raised a support ticket couple of days ago, haven’t yet received a response. Will try to reach out to once again.