开发手册

    2.1 编译全部模块

    2.2 为其它平台交叉编译:

    1. $ KUN_BUILD_PLATFORMS="linux/amd64" make

    2.3 只编译某一个模块:

    1. $ make WHAT=./pkg/controller

    用法

    1. Usage: scripts/build-image.sh [OPTIONS]
    2. -h --help 帮助
    3. -m= --module= 模块名称
    4. -i= --image= 镜像名称
    5. -t= --tag= 镜像标签
    6. -e= --env= 部署环境(镜像仓库配置)

    如果需要容器build项目,可以使用WITHBUILD环境变量控制

    1. $ WITHBUILD=1 scripts/build-image.sh -e=test -m=funclet -i=mini-funclet -t=dev

    例如:打包runner-runtime

    1. $ sudo WITHNODEJS8=1 WITHNODEJS10=1 WITHNODEJS12=1 WITHPYTHON2=1 WITHPYTHON3=1 WITHJAVA8=1 bash scripts/runner-runtime/build.sh image:tag runnertag

    您也可以提前配置不同的部署环境镜像仓库 eg: 线上环境的配置目录 测试环境的配置目录 ~/zhangsan/docker/config/test

    1. mkdir -p /tmp/docker/config/online /tmp/docker/config/test
    2. export DOCKER_CONFIG_ONLINE="/tmp/docker/config/online"
    3. export DOCKER_CONFIG_TEST="/tmp/docker/config/test"
    4. $ docker --config $DOCKER_CONFIG_ONLINE login registry.baidubce.com -u <online-user> -p'<online-password>'
    5. # test
    6. $ docker --config $DOCKER_CONFIG_TEST login registry.baidubce.com -u <test-user> -p'<test-password>'

    在宿主机上准备faas的数据目录${faasPath},eg: /home/faas

    1. # 本地bin包目录
    2. export faasDevBin=/home/xflying/controller/code

    4.3.1 调试funclet

    若不需要更改funclet,并只想以默认参数启动funclet,则

    1. $ docker run -t -d --privileged -v ${faasPath}:/var/faas -v ${faasPath}/invoker/run:/var/run/faas --name mini-funclet registry.baidubce.com/easyfaas-public/mini-funclet:907546

    若需要更改funclet,则以bash作为init命令即可,随后进入容器进行调试 ps : 可将自己的代码mount进容器,此处更换掉/home/fly/funclet即可

    1. $ docker run -t -d --privileged -v ${faasDevBin}:/home/code -v ${faasPath}:/var/faas -v ${faasPath}/invoker/run:/var/run/faas --name mini-funclet-dev registry.baidubce.com/easyfaas-public/mini-funclet:82b366 /bin/bash
    2. $ docker exec -it mini-funclet-dev /bin/bash
    3. $ ./funclet -v10 --logtostderr

    4.3.2 调试controller

    若不需要更改controller,并只想以默认参数启动controller,则

    1. $ docker run -t -d -v ${faasPath}/invoker/run:/var/run/faas --name controller regisry.baidubce.com/easyfaas-public/controller:28a179

    若需要更改controller,则以sh作为init命令即可,随后进入容器进行调试 ps : 可将自己的代码mount进容器,此处更换掉/home/fly/controller即可

    1. $ docker run -t -d -v ${faasDevBin}:/home/code -v ${faasPath}/invoker/run:/var/run/faas --name controller-dev registry.baidubce.com/easyfaas-public/controller:28a179 sh