阳光明媚、春风和煦,原以为会是一个平静的周末,刚这么想着钉钉里就收到一条消息:Jenkins 构建任务失败。咦,奇了怪了,同样的内容昨天还能正常构建,怎么今天突然就挂了?排查了一下运行日志,报错出在一个可执行文件的「Permission Denied」,难道昨天晚上有人偷偷改了这个文件的权限?马上打开项目的仓库检查了一下提交记录,这个文件最近修改记录是一年前。难道是执行 Jenkins 任务的用户权限问题?自己又用 root 权限在本地手动一步一步构建这个环境,发现那个文件的权限是 644,还是没有执行的权限。看来只能出绝招了,测试十大秘术之一:【召唤技术大佬】。把现在的情况如实反馈给了技术大佬,可能受到技术大佬气场的影响,突然就萌生出去看一下 setuptools 实现的想法。当我打开对应网站看到更新记录的时候突然一惊:不会这么巧把。。。

然后马上下载了两个版本的源码进行比较,呵呵(心里一群 xx 马奔腾而过)

好吧破案了,把这个情况反馈给了技术大佬,因为用了 virtualenv 的关系,解决这个问题稍显复杂一些,不过技术大佬没多一会就贴来一个链接,https://stackoverflow.com/questions/5932804/set-file-permissions-in-setup-py-file
不一会一个 MR 就出现的仓库了,随着 merge 问题很快就解决了,膜拜技术大佬。


↙↙↙阅读原文可查看相关链接,并与作者交流