In order to do this, you will need to decide on what CMS platform you would like to use and then create a theme that outputs the markup and CSS that you are using currently, leveraging the CMS capabilities for the content.
This question is very vague, but once you select a CMS, it shouldn't be too difficult to create a template that outputs your markup. You could start by simply finding the page that generates the 'home' page in the CMS, and paste in all your HTML while maintaining the functions that allow the CMS to work.
Once you have a working site that is rendered by the CMS, you would need to update your site to utilize the CMS capabilities. For example, if you wanted to separate each section on the site into 'pages' in the CMS, you would create these 'pages' in the CMS, and then update your homepage template to pull in content from each of those pages instead of just outputting raw hand-coded HTML.
From there, you would want to use whatever functionality you can from the CMS to do the heavy lifting. The CMS you choose should be able to take a batch of images, upload them to the server, associate them as a gallery together and allow you to insert a gallery into a page, but how you do this will depend on which CMS you choose.