Gokins 自定义插件(构建环境)
插件说明
有时候宿主机上没有我们需要的构建环境,这时候需要其他**环境(计算机,docker,k8s)**进行构建.
Runner 下载
开启gokins插件服务
修改gokins配置文件 ~/.gokins/app.yml
提示: 如果安装的时候已经开启了,就不必修改此配置了
1 2 3 4 5 6
| server: host: http://gokins.cn loginKey: tJOm8dk0Qg5W2X2WSdNxr7pwMmecDPiY runLimit: 0 hbtpHost: 0.0.0.0:8031 # 开启插件服务(端口:8031) secret: abcd12345678 # 设置插件服务安全密钥(外网最好都设置)
|
运行runner为gokins增加环境
1
| ./gokinsr -h 192.168.1.2:8031 -s abcd12345678 -p build@golang -p build@node
|
- 192.168.1.2 为上面设置的gokins内网地址,可根据需要修改
- -p 参数用做设置此runner可以运行 [build@golang, build@node] 这两个类型的step
此时在gokins中定义step运行即可
1 2 3 4 5 6
| - step: build@golang ## 使用runner运行此Step displayName: go-build name: build env: commands: - go build -o ../bin/gokinsr main.go
|
docker 高级应用
镜像+runner
下载 gokinsr-alpine 到 /usr/local/bin/gokinsr
下载地址: http://down.gokins.cn/static/golang/gokins/gokinsr-alpine
golang
1 2 3 4 5 6 7 8
| docker run -d --name gokinsr-golang \ -e GOKINS_SERVHOST=172.17.0.1:8031 \ -e GOKINS_SERVSECRET=maoguorui666 \ -e GOKINS_PLUGIN=build@golang \ -e GOPROXY="https://goproxy.cn,direct" \ -v /usr/local/bin/gokinsr-alpine:/usr/bin/gokinsr \ --entrypoint /usr/bin/gokinsr \ golang:1.16.15-alpine3.15
|
1 2 3 4 5 6
| - step: build@golang ## 使用runner运行此Step displayName: go-build name: build env: commands: - go build -o ../bin/gokinsr main.go
|
nodejs
1 2 3 4 5 6 7
| docker run -d --name gokinsr-node \ -e GOKINS_SERVHOST=172.17.0.1:8031 \ -e GOKINS_SERVSECRET=maoguorui666 \ -e GOKINS_PLUGIN=build@node \ -v /usr/local/bin/gokinsr-alpine:/usr/bin/gokinsr \ --entrypoint /usr/bin/gokinsr \ node:14-alpine3.14
|
1 2 3 4 5 6 7
| - step: build@node ## 使用runner运行此Step displayName: node-build name: build env: commands: - npm i - npm run build
|
更多自定义….
runner 参数说明
gokins –help
1 2 3 4 5 6 7 8 9 10 11 12 13
| usage: gokins runner [<flags>] <command> [<args> ...]
A golang workflow application.
Flags: --help Show context-sensitive help (also try --help-long and --help-man). --name=NAME 设置runner名称(非必填) -w, --workdir=WORKDIR 设置工作目录(默认~/.gokins) -h, --host=HOST 设置gokins插件服务地址 -s, --secret=SECRET 设置gokins插件服务密钥 -p, --plugin=PLUGIN ... 设置runner支持的step类型 -e, --env=ENV ... 设置通用环境变量 -l, --limit=LIMIT 设置step同时运行限制
|