A cyclic shop is a production system that repeatedly produces identical sets of parts of multiple types, called minimal part sets (MPSs), in the same loading and processing sequence. A different part type may have a different machine visit sequence. We consider a version of cyclic job shop where some operations of an MPS instance are processed prior to some operations of the previous MPS instances. We call such a shop an overtaking cyclic job shop (OCJS). The overtaking degree can be specified by how many MPS instances the operations of an MPS instance can overtake. More overtaking results in more work-in-progress, but reduces the cycle time, in general. We prove that for a given processing sequence of the operations at each machine, under some conditions, an OCJS has a stable earliest starting schedule such that each operation starts as soon as its preceding operations are completed, the schedule repeats an identical timing pattern for each MPS instance, and the cycle time is kept to be minimal. To do these, we propose a specialized approach to analyzing steady states for an event graph model of an OCJS that has a cyclic structure, which can keep the MPS-based scheduling concept. Based on the steady-state results, we develop a mixed integer programming model for finding a processing sequence of the operations at each machine and the overtaking degrees, if necessary, that minimize the cycle time.