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
我用 Extended Choice Parameter 插件,结合 git 插件,然后在 pepeline 里通过 env.xxx 获取用户选择的 git 版本。这样写会方便一些。
应该是你执行用例的过程中有异常,所以没有执行 teardown 后面的代码。
isDisplay()
希望下次多些技术细节的分享和交流
不错不错
ide 里运行就会出现这个问题,直接运行脚本就不会,暂时还找不到原因。
不知道是不是版本的问题,我原来是 0.13 的版本,换成最新的 0.16 就没问题了
#1 楼 @lihuazhang 同样都是在解锁的状态,在真机上就会报这种错,用模拟器就没问题
selenium.common.exceptions.WebDriverException: Message: u'A new session could not be created. (Original error: Screen did not unlock)'