General
Adding projects
This section describes how to add one or more projects to a devfile.
Prerequisites
Procedure
Add a
projectssection in the devfile, containing a list of one or more projects.A minimal devfile with one single project
devfile.yamlschemaVersion: 2.0.0 metadata: name: petclinic-dev-environment projects: - name: petclinic git: remotes: origin: 'https://github.com/spring-projects/spring-petclinic.git' checkoutFrom: revision: masterA devfile with multiple projects
devfile.yamlschemaVersion: 2.0.0 metadata: name: example-devfile projects: - name: frontend git: remotes: origin: https://github.com/acmecorp/frontend.git - name: backend git: remotes: origin: https://github.com/acmecorp/backend.gitFor each project, define an unique value for the mandatory
nameattribute.For each project, define a mandatory source of one of the following types:
git,githubandzip.git: Projects with sources in Git.Project-source type: git
devfile.yamlprojects: - name: my-project1 git: remotes: origin: "https://github.com/my-org/project1.git" checkoutFrom: revision: master tag: 7.2.0 commitId: 36fe587 branch: masterstartPointis the general value fortag,commitId, andbranch. ThestartPoint,tag,commitId, andbranchparameters are mutually exclusive. When more than one is supplied, the following order is used:startPoint,tag,commitId,branch.github: Same asgitbut for projects hosted on GitHub only. Usegitfor projects that do not use GitHub-specific features.zip: Projects with sources in a ZIP archive. Location points to a ZIP file.Project-source type: zip
devfile.yamlsource: zip: location: http://host.net/path/project-src.zip
For each project, define the optional
clonePathattribute to specify the path into which the project is to be cloned. The path must be relative to the/projects/directory, and it cannot leave the/projects/directory. The default value is the project name.Defining the clonePath attribute
devfile.yamlschemaVersion: 2.0.0 metadata: name: my-project-dev projects: - name: my-project-resource clonePath: resources/my-project zip: location: http://host.net/path/project-res.zip - name: my-project2 git: remotes: origin: "https://github.com/my-org/project2.git" checkoutFrom: revision: develop