The 21-year-old defender has only made one substitute appearance for Manchester City but has featured on 13 occasions for Northern Ireland and finalised his deal a few hours before the close of the transfer window.
Millen told the club's official website: "Ryan's a player that has been on our list for a long time and is someone Russ Richardson (head of recruitment) has been tracking for a while, even before he joined us.
"He had a month with Crystal Palace on loan and we know he's match fit. Ryan is a Northern Ireland international who will offer superb competition for places.
"He's an attacking left-back by trade but can also play at centre-back. He has a physical size and presence to be effective in both penalty areas. I'm looking forward to working with him."