When you say he shakes, do you mean he shivers? Or shakes out his whole body, like a dog that's been swimming?
Shivering would be a sign he is feeling unwell, or is in pain.
Shaking his body out is different, and healthy fit dogs do this often, especially if they get up from lying on their bed, are excited about going out, etc. But sometimes they also do that to relieve tension in their bodies, or for some natural reason that's normal and ok. Also sometimes they shake to 'shake something away' so may do this after vomiting/defecating/being groomed, etc.
As for his regular vomiting, yet apparent good health, there has to be a reason for this. What food does he get? Once, when I had my other dog, he vomited about 4 times a week, about 10 minutes after I had fed him. It took me a while to realize the reason was I was feeding him food straight from the fridge! And it was just too cold for his stomach to accept. Once I got that sorted, no more vomiting.
But a trip to the vet may be a good idea, because there could be another problem behind this vomiting.
Ther are so many reason this could be happening. You need to get your dog to the Vet ASAP. It could be something that will only require medication or something very serious. Vomiting twice a week for 5 months indicates a problem that requires medical attention. It may be nothing. But they can be acting fine and running around and be down all of a sudden.
Is the dog eating and drinking on a normally? What does the dogs gums look like? Are they pink as they should be?
Dogs will tend to shake sometimes if there is alot of loud noises that scare them or make them nervous, such as loud music or yelling.
You want to rule out a gastric problem right away. Take a trip to your Vet.