you need to run a Component Discovery Job against the servers you will run the Compliance Job against first.
you might want to look through some of these:
create components before executing compliance job as Bill stated.
right click on the component template and select Discover. Provide necessary inputs for the discover job and then execute. Optionally(recommended) provide signature condition (Discover tab- > Rule Definition) in the template
Once components were created successfully for the server, you must be able run compliance against it.
we've already told you how to resolve it:
the compliance job uses a template. the template contains all the 'stuff' to check. but the template needs to know what servers that 'stuff' will apply to. the template has a 'discovery signature' panel where conditions are defined to say "if the server object meets these conditions, then the template should apply to the server". so, inorder to trigger that evaluation you need to create a component discovery job, using this template, and run it against all your servers.
that will create 'components' for servers that meet the conditions defined in the 'discovery' panel of the template. the compliance job will act on the components (even if you target servers).
you are getting that error message because there are no components discovered for this template.