The sentence describes an action that started in the past and continues to the present, indicated by "over the years." The phrase "but his first one came out in 1999" provides a specific past reference, but the main clause refers to the cumulative number of cookbooks published. Therefore, the present perfect tense is appropriate. The subject "Jamie Oliver" is singular, so the correct form is "has published."