Pipeline vs services

I believe there is something I am fundamentally not understanding about the pipeline + services model of the drone file. Can someone clarify this for me?

My expectation is that, given a compose file that already has services in it, I really already have what I need for my drone file. However, it seems that drone requires a pipeline. It is not clear to me why a pipeline is required if all I want to do is to deploy services. That is to say, I have no preliminary code compilation, testing, etc.

Nevertheless, in an effort to just get things running, since I could not find a way to have an empty pipeline, I setup a pipeline that just does a minimal sleep. Yet, my services are not being deployed.

All of this adds up to me thinking there is something I do not understand about what I should be doing in the pipeline in order for the services section to be run. The docs make it seem as though services should just happen. What am I not understanding?

Thanks!

The pipeline is a sequential list of build steps. You can think of pipelines steps as non-blocking batch jobs (compile code, run tests, build and publish to dockerhub, etc).

The services section is used to configure long-running processes that would otherwise block your pipeline (mysql, postgres, redis, etc). You can think of services as daemons that are running in the background, and are killed at the end of the pipeline.

If you have a container that is performing a task, it should be moved to the pipeline section as opposed to the services section.

1 Like