You can set the Strategy of your Job, for that Create or Edit your job and go to Workflow tab > Strategy = Sequential, check this.
You have a complete explanation of strategies here and here.
EDIT 2: I leave an example focused on jobs using Job Reference Step.
Job A
<joblist>
<job>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>7e85b6ff-4813-4f94-85f2-2b91ff359fd4</id>
<loglevel>INFO</loglevel>
<name>JobA</name>
<nodeFilterEditable>false</nodeFilterEditable>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>sleep 2; echo "i am the job a"</exec>
</command>
</sequence>
<uuid>7e85b6ff-4813-4f94-85f2-2b91ff359fd4</uuid>
</job>
</joblist>
Job B
<joblist>
<job>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>859788d6-1fef-4467-8ce9-bc34ef6735e2</id>
<loglevel>INFO</loglevel>
<name>JobB</name>
<nodeFilterEditable>false</nodeFilterEditable>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>sleep 2; echo "i am the job b"</exec>
</command>
</sequence>
<uuid>859788d6-1fef-4467-8ce9-bc34ef6735e2</uuid>
</job>
</joblist>
Job C
<joblist>
<job>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>458d13d1-7436-4d7e-b7a2-382a5bea449f</id>
<loglevel>INFO</loglevel>
<name>JobC</name>
<nodeFilterEditable>false</nodeFilterEditable>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>sleep 2; echo "i am the job c"</exec>
</command>
</sequence>
<uuid>458d13d1-7436-4d7e-b7a2-382a5bea449f</uuid>
</job>
</joblist>
The parent job with Job Reference Step:
<joblist>
<job>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>af4b4937-f4c2-4d73-ba8e-0ccc50bc6479</id>
<loglevel>INFO</loglevel>
<name>ParentJob</name>
<nodeFilterEditable>false</nodeFilterEditable>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='sequential'>
<command>
<jobref name='JobA' nodeStep='true'>
<uuid>7e85b6ff-4813-4f94-85f2-2b91ff359fd4</uuid>
</jobref>
</command>
<command>
<jobref name='JobB' nodeStep='true'>
<uuid>859788d6-1fef-4467-8ce9-bc34ef6735e2</uuid>
</jobref>
</command>
<command>
<jobref name='JobC' nodeStep='true'>
<uuid>458d13d1-7436-4d7e-b7a2-382a5bea449f</uuid>
</jobref>
</command>
</sequence>
<uuid>af4b4937-f4c2-4d73-ba8e-0ccc50bc6479</uuid>
</job>
</joblist>
For example, if any job fails, the execution stops. With Rundeck 3.2.0 Enterprise, you can use the Job Resume feature to retake the execution at the failed step (only for sequential strategy).