81b803269f | ||
---|---|---|
.. | ||
Dockerfile | ||
Dockerfile.architecture | ||
README.md | ||
docker-compose.yml | ||
go.mod | ||
go.sum | ||
wecomchan.go |
README.md
go-wecomchan
what's new
添加 Dockerfile.architecture 使用docker buildx支持构建多架构镜像。
关于docker buildx build 使用方式参考官方文档:
https://docs.docker.com/engine/reference/commandline/buildx_build/
配置说明
直接使用和构建二进制文件使用需要golang环境,并且网络可以安装依赖。
docker构建镜像使用,需要安装docker,不依赖golang以及网络。
修改默认值
修改的sendkey,企业微信公司ID 等默认值为你的企业中的相关信息,如不设置运行时和打包后都可通过环境变量传入。
var SENDKEY string = GetEnvDefault("SENDKEY", "set_a_sendkey")
var WECOM_CID string = GetEnvDefault("WECOM_CID", "企业微信公司ID")
var WECOM_SECRET string = GetEnvDefault("WECOM_SECRET", "企业微信应用Secret")
var WECOM_AID string = GetEnvDefault("WECOM_AID", "企业微信应用ID")
var WECOM_TOUID string = GetEnvDefault("WECOM_TOUID", "@all")
var REDIS_ADDR string = GetEnvDefault("REDIS_ADDR", "localhost:6379")
var REDIS_STAT string = GetEnvDefault("REDIS_STAT", "OFF")
var REDIS_PASSWORD string = GetEnvDefault("REDIS_PASSWORD", "")
直接使用
如果没有添加默认值,需要先引入环境变量,以SENDKEY为例:
export SENDKEY=set_a_sendkey
依次引入环境变量后,执行
go run .
build命令构建二进制文件使用
-
构建命令
go build
-
启动
./wecomchan
构建docker镜像使用(推荐,不依赖golang,不依赖网络)
新增打包好的镜像可以直接使用
docker pull aozakiaoko/go-wecomchan
Docker Hub 地址为:https://hub.docker.com/r/aozakiaoko/go-wecomchan
-
构建镜像
docker build -t go-wecomchan .
-
修改默认值后启动镜像
docker run -dit -p 8080:8080 go-wecomchan
-
通过环境变量启动镜像并启用redis
docker run -dit -e SENDKEY=set_a_sendkey \
-e WECOM_CID=企业微信公司ID \
-e WECOM_SECRET=企业微信应用Secret \
-e WECOM_AID=企业微信应用ID \
-e WECOM_TOUID="@all" \
-e REDIS_STAT=ON \
-e REDIS_ADDR="localhost:6379" \
-e REDIS_PASSWORD="" \
-p 8080:8080 aozakiaoko/go-wecomchan
如不使用redis不要传入最后三个关于redis的环境变量
- 环境变量说明
名称 | 描述 |
---|---|
SENDKEY | 发送时用来验证的key |
WECOM_CID | 企业微信公司ID |
WECOM_SECRET | 企业微信应用Secret |
WECOM_AID | 企业微信应用ID |
WECOM_TOUID | 需要发送给的人,详见企业微信官方文档 |
REDIS_ADDR | redis服务器地址,如不启用redis缓存可不设置 |
REDIS_STAT | 是否启用redis换缓存token |
REDIS_PASSWORD | redis的连接密码 |
使用docker-compose 部署
修改docker-compose.yml 文件内上述的环境变量,之后执行
docker-compose up -d
调用方式
访问 http://localhost:8080/wecomchan?sendkey=你配置的sendkey&&msg=需要发送的消息&&msg_type=text
后续预计添加
- Dockerfile 打包镜像(不依赖网络环境)
- 通过环境变量传递企业微信id,secret等,镜像一次构建多次使用
- docker-compose redis + go-wecomchan 一键部署