SpecSync Documentation
Getting StartedConfigurationGuidesDownloads
Azure DevOps
Azure DevOps
  • Introduction to SpecSync for Azure DevOps
  • Getting started
    • Getting started using SpecFlow
    • Getting started using Cucumber or other Gherkin-based BDD tool
  • Installation & Setup
    • Install as .NET tool
    • Install as .NET Console App
    • Install as native binaries for Linux or macOS
    • Install as Docker image
    • Setup and Configure
  • Features
    • Push features
      • Pushing scenario changes to Test Cases
      • Configuring the format of the synchronized test cases
      • Synchronizing Scenario Outlines
      • Add new Test Cases to an Area or an Iteration
      • Mark Test Cases as Automated
      • Setting Test Case state on change
      • Update Test Case fields
      • Attach files to Test Cases using tags
      • Customization: Setting Test Case fields with default values
      • Customization: Update custom Test Case fields on push
      • Customization: Ignoring marked Test Case steps
      • Customization: Ignoring Test Case Tags
      • Customization: Ignore non-supported local tags
      • Customization: Mapping tags
      • Customization: Synchronizing scenarios from feature branches
      • Customization: Reset Test Case state after change
      • Customization: Automatically link changed Test Cases
      • Customization: Synchronize linked artifact titles
      • Customization: Add Test Cases to Suites
      • Customization: Do not synchronize title
    • Pull features
      • Pulling Test Case changes to local scenarios
    • Common synchronization features
      • Configuration key
      • Remote scope
      • Linking Work Items using tags
      • Synchronizing Test Case hierarchies using Test Suites
      • Include synchronized Test Cases to a Test Suite (deprecated)
      • Excluding scenarios from synchronization
      • Synchronization conflict resolution
      • Re-link scenarios to new Test Cases
    • Test result publishing features
      • Publishing test result files
      • Support for Azure DevOps Test Plan / Test Suite based test execution
      • Customization: Publishing test results to multiple Test Suites
    • General features
      • Azure DevOps authentication options
      • Configuration file
      • Hierarchical configuration files
      • Local test case conditions
      • Configuration wizards
      • SpecSync plugins
    • Customizations
    • Plugin list
  • Licensing
  • Guides
    • What is my Azure DevOps project URL?
    • How to define the local feature-set to be synchronized
    • Filters and scopes
    • How to synchronize automated test cases
    • How to use SpecSync from build or release pipeline
    • How to publish test results from pipelines using the VSTest task
    • How to use the SpecSync Azure DevOps pipeline tasks
    • How to link GitHub pull requests
    • How to upgrade to a newer version of SpecSync
    • How to attach files to test results
    • Using SpecSync with SpecFlow+
    • Using SpecSync with Cucumber
    • Using SpecSync with Cypress
    • Using SpecSync with Postman
    • Using SpecSync with TestNG
    • Using SpecSync on macOS or Linux
    • Using SpecSync inside a Docker container
    • How to handle Test Cases of multiple parallel application releases
    • Migrating from SpecSync v3 to v5
    • Migrating from SpecSync v2 to v3
    • Migrating from SpecSync v1 to v2
  • Changelog
  • Release Model and Roadmap
  • Downloads
  • Reference
    • Command line reference
      • init
      • upgrade
      • push
      • pull
      • publish-test-results
      • re-link
      • version
    • Configuration reference
      • toolSettings
      • local
      • remote
      • knownRemotes
      • synchronization
        • push
        • pull
        • automation
        • state
        • areaPath
        • iterationPath
        • links
        • attachments
        • format
        • fieldUpdates
      • hierarchies
      • publishTestResults
      • specFlow
      • reqnroll
      • customizations
    • Compatibility
    • Older versions
  • Contact
    • SpecSync Support
    • Troubleshooting
    • FAQ
  • Project Website
Powered by GitBook
On this page

Was this helpful?

  1. Installation & Setup

Install as Docker image

PreviousInstall as native binaries for Linux or macOSNextSetup and Configure

Last updated 2 years ago

Was this helpful?

SpecSync can also be used with Docker. There are pre-built official Docker images available at that are ready-to-use for synchronizing scenarios or publishing test results.

You can also install SpecSync to your own Docker container. This page describes the usage of the official SpecSync Docker images. For using SpecSync on your own container, please check .

Using SpecSync through the official Docker images does not require special installation. Upon the first usage Docker will pull the necessary package and execute SpecSync through it.

The following command displays SpecSync version using the official Docker image tagged with latest. See the list of available tags below.

docker run -it --rm specsolutions/specsync version

Every command or option you provide after the image name (version in the example above) will be passed to the passed to the SpecSync command line tool according to the .

The --rm Docker option removes the temporary execution data gathered by Docker. In case of SpecSync this generated data is minimal though.

The -it Docker option runs the Docker container in interactive mode with terminal emulation. This way the console output of SpecSync will be colored and you will be able to answer interactive prompt questions. You should omit this setting when running the container on a build server.

The local folders containing the feature file sets have to be mounted to the container to the /local container path. This way the potential changes SpecSync performs on the feature files (e.g. when linking new scenarios or at pull) are preserved in your local repository. To mount the local repository, you have to use the -v <LOCAL-FOLDER>:/local option for the docker run command. The container is set to use the /local folder as default working directory.

For example to perform a push command for the local project at C:\MyProject\src\featuresyou should invoke

docker run -it --rm -v C:\MyProject\src\features:/local specsolutions/specsync push

The push command requires the local feature set to be configured. Check the page for the details on how to setup an initial configuration and getting ready for the first synchronization.

Provided Docker image tags

The following tags are provided for the official SpecSync Docker images on Docker Hub. To see all available tags, please check .

Currently all official SpecSync Docker images are Linux-based (linux/amd64).

Docker caches images locally, therefore if you use a floating SpecSync image tag (see below), Docker might use an outdated version. You can ensure the latest version by invoking the docker pull <IMAGE>:<TAG> command.

Tag type
Floating
Example
Description

Latest released version

yes

latest

Points to the latest released SpecSync version image. In a case of a new major release using the latest tag might cause breakages, therefore it is recommended to use this for evaluation and experimenting only.

Up-to-date version line

yes

3.0

Points to the latest patch version of a version line. Recommended for production setup.

Specific release

no

3.0.2

Points to a specific patch release within a version line. This tag always points to the same image therefore it offers the most predictability.

Specific preliminary release

no

3.1.0-pre20200903-2

Points to a specific preliminary release. The preliminary releases are less stable therefore should only be used to validate fixes or improvements.

https://hub.docker.com/r/specsolutions/specsync
Using SpecSync inside a Docker container
Command line reference
Setup and Configure
https://hub.docker.com/r/specsolutions/specsync/tags