Is it possible to create a docker container from T

2020-08-17 05:44发布

问题:

We are running on-premises TFS 2017. I would like to create a release definition for our QA team which will create a Docker container running Windows 7, and deploy our release build to it automatically.

Once the deployment is done the QA team should be able to log onto the container to test the app. No manual running of a MSI installer or Setup.exe.

Ideally each queued release will create its own container with its own copy of the released build.

Is this possible? Or recommended? All our servers and hosts will be in-house, we will not be using Azure.

Thanks in advance for any advice.

回答1:

It is able to create a docker container from TFS and integrate with build/Release pipeline. Some tutorials for this area:

  • Continuous Deployment with Docker and Build vNext
  • Using docker on Windows in VSTS build and release management

However it's not possible to build a Windows 7 Docker Container. If you plan on doing a full installation of Windows 7, you should use a VM. Docker is not meant to be used in that sense.

For more details please refer this similar question: Build a Windows 7 Container



回答2:

I am answering in 2019.
We are using TFS 2018 with Docker for Windows.
Our private registry is Linux container from Docker.io.

Our Release Defintion will

  1. Build code on TFS Build Server (e.g. BS01)
  2. Build Docker file on BS01. (i.e. same _work/* folder)
  3. Push the Image to a private registry from BS01.
  4. Run the image from a Docker host (e.g. DH01), which will download from the registry to run it.