如果你用过Maven,可能听说过BOM,这是一个解决Java项目版本冲突的有效工具。
在早先的Gradle版本中,是没有原生BOM支持的,只能通过一些很蹩脚的方式引用Maven的BOM。
在5.0+后,提供了platform机制,可以更加"原生“的实现类似BOM的方法,而且更加简洁。
1 在Gradle中定义你的BOM
build.gradle
只有中间的dependencies部分是可能需要调整的
plugins {
id 'java-platform[......]
https://search.maven.org/search?q=a:protoc-gen-grpc-java[......]
# cat ~/.gradle/init.gradle
// project
allprojects{
repositories {
mavenLocal()
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/jcenter/' }
mave[......]
新建hook文件
# cat .git/hooks/pre-commit
##!/bin/sh
for FILE in `git diff --cached --name-only --diff-filter=ACM`;do
echo $FILE
sed -i '' -E 's/(key1|key2)/coder4/' $FILE
git add $FILE
done
添加执行权限
chmod a+x .git/hooks/pre-commit[......]
前端:xterm
前端使用时,先申请一个新的websocket,然后类似如下
term.loadAddon(new AttachAddon(conn))
服务端需要把remotecommand封装成ws服务,符合webshell协议
可以参考k8s-web-terminal这个完整项目
也可以参考这篇文章 利用kubernetes exec接口实现任意容器的web-terminal
还有这篇参考文章 Kub[......]