With the new extrude by normal function, I've found that you must make the object have ONE-SIDED surfaces first and make sure the surfaces are facing towards where you want to extrude. Otherwise, it will extrude in both directions and you don't want that...
So, for a gun barrel, I'd create the cylinder, make the cylinder 1-sided and flip the normals facing inward. Then select all the surfaces and do the extrude-by-normal.