3.2.4.3. devfile へのコマンドの追加
devfile を使用すると、ワークスペースで実行できるコマンドを指定できます。すべてのコマンドにはアクションのサブセットが含まれますが、それらは実行されるコンテナーの特定のコンポーネントに関連するものです。
commands: - name: build actions: - type: exec component: mysql command: mvn clean workdir: /projects/spring-petclinic
コマンドを使用するとワークスペースを自動化できます。コードをビルドし、テストするか、またはデータベースのクリーニングを実行するためのコマンドを定義できます。
以下は、2 種類のコマンドです。
- CodeReady Workspaces 固有のコマンド: コマンドを実行するコンポーネントを完全に制御できます。
-
エディター固有のコマンド: エディター固有のコマンド定義を使用できます (例: Che-Theia の
tasks.json
およびlaunch.json
。これは、VS Code でのこれらのファイルの動作と同等です)。
3.2.4.3.1. CodeReady Workspaces 固有のコマンド
CodeReady Workspaces 固有のコマンドの機能
-
実行するコマンドを指定する
actions
属性。 -
コマンドを実行するコンテナーを指定する
component
属性。
コマンドは、コンテナーのデフォルトシェルを使用して実行します。
apiVersion: 1.0.0 metadata: name: MyDevfile projects: - name: my-go-project clonePath: go/src/github.com/acme/my-go-project source: type: git location: https://github.com/acme/my-go-project.git components: - type: dockerimage image: golang alias: go-cli memoryLimit: 512Mi mountSources: true command: ['sleep', 'infinity'] env: - name: GOPATH value: $(CHE_PROJECTS_ROOT)/go - name: GOCACHE value: /tmp/go-cache commands: - name: compile and run actions: - type: exec component: go-cli command: “go get -d && go run main.go” workdir: “${CHE_PROJECTS_ROOT}/src/github.com/acme/my-go-project”
注記
-
コマンドで使用されるコンポーネントにはエイリアスが必要です。このエイリアスは、コマンド定義でコンポーネントを参照するために使用されます。例: コンポーネント定義の
alias: go-cli
およびコマンド定義のcomponent: go-cli
。これにより、Red Hat CodeReady Workspaces がコマンドを実行できる正しいコンテナーを検索できます。 - コマンドには 1 つのアクションのみを指定できます。