This paper develops state and output feedback controllers that force underactuated ships to globally ultimately track a straight-line under environmental disturbances induced by wave, wind and ocean current. When there are no environmental disturbances, the controllers are able to drive the heading angle and cross-tracking error to zero asymptotically. Based on the backstepping technique and some technical lemmas introduced for a non-linear system with non-vanishing disturbances, full state feedback controller is first designed. An output feedback controller is then developed by using a non-linear observer, which globally exponentially estimates the unmeasured sway and yaw velocities from measured sway displacement and yaw angle. Simulation results on a 32 metres long ship are presented to validate the proposed controller.