Joshua Barton, 24 from Harrogate, was sentenced at York Crown Court on Monday following a four day trial.
Barton will also be placed on the sex offenders register indefinitely.
Police said his 29-year-old victim was "still haunted by what he has done."
The attack happened in the early hours of Saturday June 17 2017.
Barton and the victim had been socialising with a group of people in a pub in the town centre earlier that night and they had all walked to the caravans at Bilton Lane together.
He said he would walk the victim home safely, but when they were on their own took her into a nearby shed and sexually assaulted her.
The victim managed to get away and run home and the police were called later that morning.
Detective Constable Fiona Saunderson said: “Joshua Barton promised to keep a vulnerable victim safe but instead abused her trust and subjected her to a sustained sexual assault to satisfy his own selfish needs.
“The victim was terrified and is still haunted by what he has done, however she has been incredibly brave to come forward and see this matter through to court.
“Now that Joshua is behind bars where he cannot prey on anyone else I hope this will help the victim start to feel safe and be able to enjoy her life again.”