Domino manages a collection of files for every project. To add files to a project:
-
Upload them from the Domino web application.
-
Upload them from the Domino Command Line Interface.
-
Upload them through the Domino API.
-
Create and edit them in the Domino web application.
-
Execute code in a workspace or job to generate them.
When you modify a project’s files, it creates a new revision of the project. When you start an execution from a Domino project, the files in that project are loaded onto the machine hosting the execution. This machine is known as the executor.
The project files are mounted in the /mnt
directory, which is in the file system root of the executor.
Domino tracks changes to this directory.
When a Run completes, Domino records changes to /mnt
as a new revision of the project.
See Domino File System to learn how Domino loads files into runs and how runs change files.
You can also add external Git repositories to projects.
This makes the contents of those repositories available in runs and workspaces in the /repos
directory of the executor.
See Import Git Repositories.
Project artifacts are the files in your project, which can include relatively small data files. The visibility and accessibility of project artifacts is controlled by the project owner. As a project owner, you can configure the project’s visibility and add collaborators with specific permissions.
Project visibility determines whether other Domino users can see your project and its files. Although the most permissive visibility setting (Public) lets everyone see and import your project artifacts, it does not allow everyone to modify them.
You can change a project’s visibility at Settings > Access & Sharing > Visibility in your project. See Set project visibility for details.
Project collaborators have specific permissions depending on the project roles you assign them. Some roles provide read-only access to the project artifacts, while others provide read/write access. Project roles are independent of the user’s role in Domino.
See Collaborator permissions and Invite collaborators for complete details.
The most secure configuration for a project is to set the project visibility to Private and add collaborators with the Results Consumer role. This configuration gives read-only access to specific users only; the project is effectively invisible to all other users. Only the project owner has full access to such a project. This is an appropriate configuration for projects that contain the most sensitive data and results.
By contrast, the most permissive configuration is to set the project visibility to Public and add the whole organization as a collaborator with the Project Owner role. This configuration gives full access to all users in the organization. For example, a sample project intended to be used as a sandbox might be configured this way.
There are several special files reserved by Domino. These files control the revisioning behavior, results display, and run comparison features of a project.
README files
All projects are initialized with a README
file, which is available in the Overview section of your project. README
files provide an overview of a project.
The contents of the README
file in your project are written in Markdown, a lightweight and easy-to-read/write markup language.
Tip
|
If you plan to reference other project files from the For example, if you have a file stored in a folder and the file’s path is |
.dominoignore
By default, all projects include a .dominoignore
file in the project root folder.
This file functions like a .gitignore file, and can be used to exclude certain file patterns from being written to future revisions of the project files.
Domino ignores files that match the specified patterns when a new revision is created.
This includes revisions created by syncing from your local machine using the CLI, as well as new revisions created by a run or workspace session.
To ignore a file pattern, add it to .dominoignore
.
Patterns can be filenames, folder names, or UNIX shell regular expressions.
Adding a folder will ignore it along with all of its contents.
The *
symbol in UNIX shell regular expressions is a wildcard and will match.
All paths must be relative to the project root.
Review the contents of the default .dominoignore
in one of your projects to see commented examples of excluded patterns.
Note
|
A .git/ directory is always ignored by Domino sync operations, even if that pattern is not listed in .dominoignore .
|
.dominoresults
Projects include a special file named .dominoresults
.
This file controls which files the results dashboard lists for this project’s runs.
It is constructed similar to .dominoignore
, but lists file patterns to include instead of exclude.
If no patterns are listed in this file, all files changed by a run will be included in the results dashboard.
If any patterns are listed in this file, only files which match those patterns will be included in the results dashboard for this project’s runs.
For example, a .dominoresults
file that contains the following lines will only list the following specified files in the results dashboard.
histogram.pdf
output.txt
A .dominoresults
file that contains the following lines lists all PDF files in the project, and any PNG files that are in the results/
folder.
*.pdf
results/*.png
dominostats.json
Domino’s compare jobs feature checks for a file named dominostats.json
to compare key measurables from individual runs.
This file is automatically deleted at the beginning of a run, and will only exist in the project revision produced by a run if a new version is written during execution.
See View Execution Performance to learn more about this feature.