Use BIN 123 exterior undercoat. It sticks to everything. Then just put regular Satinwood exterior paint (in the colour of your choice) over it.
I've used it for the side of my Steeltech shed, aluminum roof on my porch, and some guttering.
https://www.zinsseruk.com/product/bulls-eye-1-2-3/
(You...