starter solenoid most likely. The solenoid is clicking when you engage start. The copper disc on the forward end of the solenoid is not making contact across the two big terminals to which batt and starter are connected. Probable cause is accumulated arc scars. Sometimes you can whack the starter solenoid with a hammer while start is engaged at key, and you'll get a connect. You can also repeatedly hit start and the repeated hammering of the solenoid core will do the same. You can also pull the starter and remove solenoid and pull the core and sand off the copper disc.
Most starter "failures" are just like this, and most "rebuilt" starters are rebuilt just this way, or with only a new solenoid.
Starter diagnosis 101:
Tests are easiest out of the truck, but you can do them all in situ, just a good chance of arcing/welding stuff.
There are 3 terminals on the starter. One (S) is a small spade that carries ign power to the starter in start position. One (B) is a large copper lug with the heavy batt wire attached. The third (M) is an identical copper lug with a wire/strap connected to the motor windings.
Using jumper cables, connect batt neg to starter frame. connect othercable to batt pos, and touch to terminal M. Good motor will run without gear extending. Now touch batt+ wire to terminal S. Solenoid will click, gear will extend, motor will not run. Now connect batt+ cable to terminal B. This is the normal state of the installed starter. Using a jumper wire, connect B to S. Solenoid should extend, then motor should run IN THAT ORDER. If the motor does not run, it's the solenoid copper disc, or crud in the solenoid is blocking the full motion of the core.