87 lines
1.9 KiB
Markdown
87 lines
1.9 KiB
Markdown
# Dragonfly Plugin Builder
|
|
|
|
> When build plugin, the image which use the plugin need rebuild
|
|
|
|
## Build Builder Image
|
|
|
|
```shell
|
|
cd Dragonfly2
|
|
docker build -t dragonfly-plugin-builder -f build/plugin-builder/Dockerfile .
|
|
```
|
|
|
|
## Build Plugin
|
|
|
|
> Available plugin type: resource, scheduler, manager
|
|
> When type is scheduler, plugin name must be evaluator
|
|
> When type is manager, plugin name must be search
|
|
|
|
### Example
|
|
|
|
#### 1. Resource Plugin Example
|
|
|
|
* Build plugin, cdn and dfget
|
|
|
|
```shell
|
|
PLUGIN_TYPE=resource
|
|
# custom protocol
|
|
PLUGIN_NAME=dfs
|
|
PLUGIN_PATH=`pwd`/pkg/source/testdata/plugin
|
|
|
|
docker run --entrypoint=/bin/bash \
|
|
-v "$PLUGIN_PATH":/go/src/plugin \
|
|
-v `pwd`/artifacts/:/artifacts \
|
|
dragonfly-plugin-builder \
|
|
/build.sh "$PLUGIN_TYPE" "$PLUGIN_NAME" /go/src/plugin
|
|
```
|
|
|
|
* Build cdn and dfdaemon image
|
|
|
|
```shell
|
|
docker build -t cdn -f build/plugin-builder/images/cdn/Dockerfile .
|
|
docker build -t dfdaemon -f build/plugin-builder/images/dfdaemon/Dockerfile .
|
|
```
|
|
|
|
#### 2. Scheduler Plugin Example
|
|
|
|
* Build plugin, scheduler
|
|
|
|
```shell
|
|
PLUGIN_TYPE=scheduler
|
|
PLUGIN_NAME=evaluator
|
|
PLUGIN_PATH=`pwd`/scheduler/scheduler/evaluator/testdata/plugin
|
|
|
|
docker run --entrypoint=/bin/bash \
|
|
-v "$PLUGIN_PATH":/go/src/plugin \
|
|
-v `pwd`/artifacts/:/artifacts \
|
|
dragonfly-plugin-builder \
|
|
/build.sh "$PLUGIN_TYPE" "$PLUGIN_NAME" /go/src/plugin
|
|
```
|
|
|
|
* Build scheduler image
|
|
|
|
```shell
|
|
docker build -t scheduler -f build/plugin-builder/images/scheduler/Dockerfile .
|
|
```
|
|
|
|
#### 3. Manager Plugin Example
|
|
|
|
* Build plugin, manager
|
|
|
|
```shell
|
|
PLUGIN_TYPE=manager
|
|
PLUGIN_NAME=searcher
|
|
PLUGIN_PATH=`pwd`/manager/searcher/testdata/plugin
|
|
|
|
docker run --entrypoint=/bin/bash \
|
|
-v "$PLUGIN_PATH":/go/src/plugin \
|
|
-v `pwd`/artifacts/:/artifacts \
|
|
dragonfly-plugin-builder \
|
|
/build.sh "$PLUGIN_TYPE" "$PLUGIN_NAME" /go/src/plugin
|
|
```
|
|
|
|
* Build manager image
|
|
|
|
```shell
|
|
docker build -t manager -f build/plugin-builder/images/manager/Dockerfile .
|
|
```
|