Do it yourself. Write a bash script to run tests and then run a deployment procedure if tests pass. Need notifications? Shoot yourself a plaintext email on success/failure. Need scheduler? Cronjob. This is $0/mo., and you will have a clue as to what you are doing. I do not see how paying someone $40/mo will help me do this in any way more efficient.
Consider for example: my deployment is failing because of an incorrectly configured asset pipeline (assets fail to precompile). This is not going to be caught with unit, functional, integration, regression, or any other tests. This error will not be caught by CI. The amount of time I would spend writing a bash script is likely to be less than the amount of time I would spend setting up a CI environment, and I'll save myself $40/mo.
Juuuuuust throwing my two pennies into the discussion ; )