Workspaces allow jobs within a build to share files. They are useful when you want to use build artifacts from a previous job; for example, you create a cache that can be used in multiple jobs later.
The best build practices when using Workspaces is, it is best to create a workspace in one stage and then use it in subsequent stages. So, for example, in your
.travis.yml file this is how workspaces would work:
jobs: include: - stage: warm_cache script: - echo "foo" > foo.txt workspaces: create: name: ws1 paths: - foo.txt - stage: use_cache workspaces: use: ws1 script: - cat foo.txt || true
As you can see each workspace has a unique name within a build. It is specified by the name key when it is created with
workspaces.create, and by the value when it is used with
In the above example, the workspace named
ws1 is created by the only job in the
warm_cache stage. The workspace is subsequently consumed in the
As always, if you have any questions about this tutorial, please email me at firstname.lastname@example.org and I will assist you.