宣公と穆姜のあいだの子として生まれた。宣公18年(紀元前591年)、宣公の後を受けて魯国の君主となった。成公元年(紀元前590年)、斉の侵入に備えて丘甲の制を定めた。成公5年(紀元前586年)、晋・斉・宋・衛・鄭などの諸侯と蟲牢で同盟した。成公7年(紀元前584年)、晋・斉・宋・衛などの諸侯と馬陵で同盟した。成公9年(紀元前582年)、晋・斉・宋・衛・鄭などの諸侯と蒲で同盟した。成公12年(紀元前579年)、晋の厲公や衛の定公と瑣沢で会合し、楚との和議を承認した。成公18年(紀元前573年)8月、薨去。子の姫午が後を嗣いだ。