java 好解决,主要是 nodejs 和旧版本的 go 的依赖往往在 workspace 下,分布式存储通过网络传输,一边读一边写,效率极慢.
gitlab 域名我们是在 core dns 中绑定 ip 来解决的
我在实践过程中最大的问题有两个:
1.jenkins 拉起 k8s pod 的时间太慢,往往要几十秒才能开始流水线
2.缓存的问题,虽然我们用了 rook 来缓存 maven 等项目的依赖,但效率感觉还是不够高
502 应该是 nginx 没有找到对应的后端,看看 kubectl logs ingress-controller 的日志 有没有什么线索
你有设置对应的 traefik-ui.k8s-app.com 的 ingress 吗 kubectl get ingress 看看. 目前看到的信息是是正常的
kubectl logs 查看几个异常的 pod 报了什么错
首先,官方的 mysql 镜像已经支持很多初始化的参数配置,在 run 的时候把 env 带进去就行了.可以参考https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html
其次,其实不是需要去摸索每一个镜像,而是先弄清楚 docker 的原理,根据自己的需求去定制或者使用自己的镜像.
官方镜像如果不能满足你的要求,或者有所谓的 bug,可以自己制作一个镜像,免去以后安装的烦恼.
麻烦把操作步骤和 dockerfile 贴出来看看
docker run python install xxx 的话会新启动一个容器,并不是在你操作的那个容器里进行的.应该用 docker exec -it 容器 id python install xxxx
我感觉差不了多少,就首次慢一点。主要是在代码部分写起来会简洁许多。但是你那样做的好处就是一个脚本可以多个项目一起使用,改动很少。要用 git 插件的话,每个项目还要配置比较麻烦。各有优缺点吧
不好意思,之前说错是了,我是用的 git parament 插件。主要是设置 pipeline 那里要选 Pipeline script from SCM 然后 jenkins file 要在 git 项目里。然后代码中通过 def fullBranch = env.Branch 获取选择的 branch