Gokins自定义插件(构建环境)
Gokins Gokins

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同时运行限制