Click all images to see the original size.
To start off with we already have a question talking about the lack of helmets. The TL;DR of it though is that everyone wears a helmet until they are a main cast member and then they don't anymore so they are more easily recognised on the battlefield.
It's worth noting that the majority of the armies in Westeros do have shields just look at the following examples.


With that said why didn't Jon's army at the Battle of the Bastards have shields? Well they are mostly made up of wildlings who don't seem to have many shields.We do see some carrying shields but not many. The only few I've seen were in this scene.

In most of the other scenes we don't see wildlings with shields at all. In the picture of those that are about to climb the Wall one is actually wearing a shield.


With all of this together we can deduce that shields are in short supply for the wildlings and so were in short supply for Jon's army. Note that the few shields they may have had could have been lost at Hardhome as they had to rush off.
However, we do see a couple of shields at the Battle of Bastards in Jon's army though we can't quite tell if all of them are on wildlings or Northern forces.

Out of universe it appears that the battles we do see, we don't really see any shields. When we see armies with their shields it is usually just seeing them before or after a battle. This is likely because it takes more training for someone to use a shield effectively and it can make it easier to hurt the actors.