I'd like to build a continuous delivery pipeline for SC 9.0.1 instance using Docker.
In order to do so any file changes on CM/CD should be deployed in a new container. I'm just wondering, how to deliver item changes to the instances?
A new Docker image must be created. This new image will inherit Sitecore base images.
You may have different Dockerfile files for different purposes. One could be for debugging and other could be for release.
By using Docker-Compose you can define an environment with a MSSQL container, another Solr container and a Sitecore website container along with the dependencies among them.
Visual Studio 2017, with its OOTB Docker support, can help a lot.
Please find next a link to an example:
The steps to create a development environment with the provided sample are as follow:
The first time the containers run, the base images will detect that the required assets (databases, indexes and site files) are missing in their respected VOLUMEs (pointing to the development environment) and will take some time to create them. VS will build the containers and will try to attach to the IIS's process running in website's container, however it will fail (TODO: fix this known issue). In the meantime, the file transfer from the images to the Development environment will keep progresing. Please be patient.
For item changes, we use include the serialized files in the docker images (we are using Unicorn) and we have another image/container that invokes syncronization when the CM container is reachable