Definitely. We can provide the Kubernetes cluster for development environments but you can have your own for any stage. A lot of companies including Google can also manage Kubernetes clusters for you.
Because you will use immutable docker images, you can simply run your unit tests in the built image. Because we can create an environment on the fly, integration tests have never been easier!
The configuration, based on tasks, is extremely extensible. You can use branch names, pull-request labels, and variables to activate different tasks, for instance.
Yes, we can run abstract commands in containers once the environment is deployed. You will then use the same feature for integration tests.
You can create teams and manage different project repositories per team. Only the administrators will be able to modify or create the flows, but the users will have a read-only access.
The Docker images can be stored in any Docker Registry. You will just have to configure your credentials to access to the repositories, either public or private.