Very simple to help you generate docker image
(Finally free of Gradle ^_^)
Install craft-client with npm
npm install @imf/craft-client -D
Configure it in package.json
web
Parameter | Type | Description | value |
---|---|---|---|
buildType |
string |
Required build type | web |
web |
string |
Required | object |
distDir |
string |
Options your web project build directory | defalut:dist |
buildCommand |
string |
Required your web project build command | defalut:npm run build |
package.json
"craft": {
"buildType": "web",
"web": {
"distDir": "dist",
"buildCommand": "npm run build"
}
}
node
Parameter | Type | Description | value |
---|---|---|---|
buildType |
string |
Required build type | node |
node |
string |
Required | object |
bootCommand |
string |
Options your node project executable command | defalut:node dist/Main.js |
buildCommand |
string |
Options your node project build command | defalut:do not execute |
package.json
"craft": {
"buildType": "node",
"node": {
"bootCommand": "node app.js",
"buildCommand": "npm run build"
}
}
framework
Parameter | Type | Description | value |
---|---|---|---|
buildType |
string |
Required build type | framework |
framework |
string |
Required | object |
staticPath |
string |
Options the static resource path | defalut:client |
web |
string |
Required | object |
webdir |
string |
Required the web project directory | app |
webbuildDir |
string |
Required the web project build directoryName | dist |
webbuildCommand |
string |
Options the web project build command | default: npm run build |
server |
string |
Required | object |
serverdir |
string |
Required the web server directory | server |
serverbootCommand |
string |
Options the web server boot command | defalut:node dist/Main.js |
serverbuildCommand |
string |
Options the web server build command | defalut: do not execute |
package.json
"craft": {
"buildType": "framework",
"framework": {
"web":{
"dir":"app",
"buildDir":"dist",
"buildCommand":"npm run build"
},
"server": {
"dir" :"server",
"bootCommand": "node dist/Main.js",
"buildCommand": "npm run build"
},
"staticPath": "client"
}
}
Then just run the commands in the script
like npm run craft-docker
or npm run craft-h
- craft-docker (generate dockerImage)
- craft-h (show help message)
package.json
"scripts": {
"craft-h": "craft -h",
"craft-docker": "craft --docker"
},
"craft": {
"buildType": "framework",
"framework": {
"staticPath": "client",
"web":{
"dir":"app",
"buildDir":"dist",
"buildCommand":"npm run build"
},
"server": {
"dir" :"server",
"bootCommand": "node dist/Main.js",
"buildCommand": "npm run build"
}
}
}
shell
npm run craft-docker
tips:if you are in haiyaotec work flow you should config gaia.yml
gaia.yml
name: kalista-web
build:
beta:
- npm install
- npm install --prefix kalista-browser/kalista-frontend-app
- npm install --prefix kalista-server
- npm run craft-docker
prod:
- npm install
- npm install --prefix kalista-browser/kalista-frontend-app
- npm install --prefix kalista-server
- npm run craft-docker
release: mars