Linux环境下编译Grafana汉化和打包
- Grafana汉化和打包
- 准备工作
- 编译过程
- 注意事项
- 打包过程
- 安装事项
Grafana汉化和打包
说明:目前实现汉化的方案很笨拙,需要对源码里的模板文件,以及js里用的显示数据进行一一汉化。所以在这里记录一下汉化以及编译安装的过程。
准备工作
- 环境准备:go语言环境,node环境,git,这些环境安装就不再赘述
- 构建后端:把grafana源码down下来之后在grafana项目这个目录下执行
go run build.go setup
go run build.go build - 构建前端;
npm install -g yarn
yarn install --pure-lockfile
yarn build - 在这里注意运行yarn install –pure-lockfile的时候可能会报如下错误;
- 原因是虚拟机里没有安装bzip2所以下载的文件解压不了,所以执行如下命令;
yum install bzip2 - 运行Grafana:
./bin/grafana-server
输入localhost:3000就能看见grafana登录界面
编译过程
- grafana的模板资源主要是在源码的public下,修改相应的html文件以及js文件就可以汉化
- 根据替换目标全局搜索,替换之后需要编译一下确保编译成功无报错。
Yarn buid
编译无报错如下 - 将编译后的目录同步
/bin/cp -rp /usr/share/grafana/
Systemctl restart grafana-server
注意事项
- 有些改的地方在pkg下面,比如侧边栏,这些改完之后需要重新构建后端
go run build.go build - 将/bin/linux_amd64/grafana-server替换到/usr/sbin/grafana-server,然后重复上述编译过程
打包过程
说明:打包过程分为3部分,打包环境安装,解压官方rpm包获取spec文件和源文件。以源文件模板进行替换。
- 打包环境安装(目录结果如下)
yum install epel-release centos-release –y
yum install rpm-build rpmrebuild rpm cpio - 解压官方rpm包获取spec文件
先获取官方grafana-7.5.6-1.rpm的包(任何目录下)
wget https://dl.grafana.com/oss/release/grafana-7.5.6-1.x86_64.rpm - 获取spec文件
rpmrebuild -e -p --notest-install grafana-7.5.6-1.x86_64.rpm
这时会打开到该rpm包的spec文件为一个临时文件,用vim打开的,使用vim的另存为功能(shift键+“:”,输入w (空格)文件名),当前目录就会保存一个spec文件,修改%files部分为如下(因为执行构建前后端时会生成动态的JS文件,且名字随机,获取到的原spec文件%files部分指定文件名写死了,不更改执行打包会报部分文件找不到),将spec文件移动至SPECS下。 - 获取rpm中的源文件
在获取spec文件时的目录下执行,会生成etc,usr这两个文件夹
rpm2cpio grafana-7.5.6-1.x86_64.rpm | cpio -div
在BUILDROOT目录下创建文件夹grafana-7.5.6-1.x86_64,将上述etc,usr移动至此
修改/usr/lib/system/system/grafana-server.service,去掉如下行。 - 将修改过后的grafana文件夹替换usr/share/grafana
将修改过后的grafana文件夹下的/bin/grafana-server替换 usr/share/grafana/sbin/下的grafana-server
rpmbuild重新构建rpm包
rpmbuild –bb grafana-7.5.6-1.sepc
安装事项
- 执行rpm –ivh grafana-7.5.6-1.x86_64.rpm
- /bin/systemctl daemon-reload
- /bin/systemctl enable grafana-server.service
- /bin/systemctl start grafana-server.service