If you are saying it won't fire/start while cranking, but starts once you release the key, then the problem is voltage drop through the battery cables / bad ground connection(s). Or a defective ignition switch.
Consider this scenario: The battery ground wire/connection has 0.1 Ohm of resistance. At 10-amps of current flow, that is a 1 Volt drop, so if you measured from the chassis/engine ground to the battery positive terminal, the voltage would read 1-volt less than the actual battery voltage.
When cranking the starter, you might be pulling 70+ Amps or more, this would reduce the voltage at the ignition module/coil by 7 volts!
This is why when you release the key from the start position, it removes the high current load to the starter, and results in nearly full voltage being avilable at the ignition box/module/ignition coil to fire the ignition.
The fix is to have good battery cables and good clean low resistance connections.