I would investigate Ansible. "Ansible delivers simple IT automation that ends repetitive tasks and frees up DevOps teams for more strategic work." (Ansible Website).
While it is used extensively to manage infrastructure, it can also be used to manage (automate) development processes and meta-infrastructure. You create the model of your ideal development and deployment processes via roles and playbooks, add variables to templates, package and deliver your image. Then it is all about providing the customer/client with the content and playbooks to be run from their control machine in their infrastructure environment.
Ease of use is subjective; therefore, I venture the following. The files Ansible uses to control behaviour are YAML based. YAML is easily understandable by both technical and administrative staff making the ramp to organizational fluency cost effective.
Integration with other systems is one of Ansible's strong points. There are hundreds of modules that come ready to use out of the box. You can customize any module, derive new functionality, or develop your own modules that specifically meet the needs of your team and/or the requirements of your customer.
Size of community is again a strong point for Ansible. It is a well supported open source product surrounded and uplifted by commercial tools. Some well respected companies are invested in Ansible's support. You determine the appropriate level of product engagement and you can be assured there is a robust community ready to help (see for yourself in the devops, unix, server fault and stack overflow SE communities).
Difficulty of integrating custom software is similar to Ease of use in that it is subjective (but also relative to demand). I posit that a tools ability to scale in capability comes at the cost of complexity. The more you demand from Ansible, the more it will surprise you with capability; however, you will have moments where you don't know what you don't know followed by epiphanous joy as you discover yet another solution under the hood.
Customizability is Ansible's bailiwick. You can use what ever tools you prefer to do the dirty work and have Ansible manage the flow from process to process (avoiding inter-process fumbles often associated with manual hand-offs).
There are other DevOps support tools, I believe Ansible is well worth your time to investigate. I don't wish to drone on about it's features and capability when their website is far better and delivering the level of information you need.