一些简短的经验之谈。
Maven
免费的私库和maven镜像?
我目前用的是阿里云上提供的,稳定性和速度都不是问题。 链接:https://maven.aliyun.com/mvn/view
从哪里搜索maven仓库中的jar包?
我用过的最方便的莫非 https://mvnrepository.com 这个站点了。
参数 maven.test.skip
和 skipTests
的区别?
-Dmaven.test.skip=true
: 测试类既不编译,也不运行 -DskipTests=true
: 编译测试类,但不运行
怎么配置全局的 maven.test.skip
?
我通常会修改 ~/.m2/settings.xml 文件,在 profiles 节点下配置并激活以下 profile:
<profile>
<id>skip.tests.by.default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
这样,当我们执行 mvn
命令时,可以不用手动加 -Dmaven.test.skip=true
参数。另外,在Intellij Idea中,可以在maven面板中按需关闭或开启此profile:
Docker
推荐一个好用的 Docker 私有仓库?
没错,我还是推荐阿里云:https://cr.console.aliyun.com。
在Docker化Spring Boot应用时,怎么加速 docker push
?
我通常会把项目打包的 fatjar 解压,将依赖的 release版本 和 snapshot版本 分开放在不同文件夹下,2个文件夹分2次拷贝到镜像中。利用docker分层机制,速度会有很大的提升(首次push的耗时和未分层前一样,后续的push通常只要几秒)。
关于这个技巧,Spring 官方也有文章说明:https://spring.io/blog/2020/01/27/creating-docker-images-with-spring-boot-2-3-0-m1。
使用Java编写Excel等报表下载时,Docker环境下会报错,好像和字体缺失有关。怎么解决?
我是通过下载一些 ttf fonts
FROM openjdk:8-jdk-alpine
RUN apk add --no-cache ttf-dejavu
&& rm -rf /var/cache/apk/*
要注意的是,这个构建很慢,建议先把它打成基础镜像,其它的java项目再引用此镜像。
Docker 容器环境的时区问题?
默认的 alpine
FROM openjdk:8-jdk-alpine
RUN apk add --no-cache tzdata
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV TZ='Asia/Shanghai'
Kubernetes
命令行自动补全怎么弄?
这个。。,官网上有详细的说明:https://kubernetes.io/docs/tasks/tools/install-kubectl/#optional-kubectl-configurations。
怎么在k8s环境下快速的运行一个docker化的应用?
以 nginx
为例:
k run nginx --restart=Never --rm -it --image nginx
上述命令将运行一个以nignx为镜像的pod,并且开启了交互模式,退出后pod会自动销毁。
怎么在多个 k8s 集群中自由切换?
我是用 direnv
来管理的。不同集群的配置放在不同的文件夹下,通过切换文件夹的形式来切换集群。
关于 direnv 我之前也写过一些用法,见 使用direnv管理差异化的环境变量。
上面的内容是我今天一时想到的。若你有其它疑问,请大方留言。