我们已经设置Cloudbees Jenkins在Github中检测到提交时运行集成测试作业。但由于一些奇怪的原因,一些间歇性构建失败并出现以下错误:
ERROR 1045(28000):用户'root'@'localhost'拒绝访问(使用密码:YES)
在我们的集成测试工作中,我们执行以下操作:
我们已经为root用户设置了一次MySQL管理员密码为'mysql' - 通过在作业中执行shell命令。之后我们将其删除,因为它下次失败了,这表明每次作业都不需要设置密码。
关于为什么会发生这种情况的任何输入都会有所帮助。
答案 0 :(得分:0)
Cloudbees平台使用从属池,你的构建可能发生在它已构建的节点上(分配算法试图给你这样一个,这样你就可以获得已经配置的所有依赖项)但是你有时会构建到从一个全新的节点开始。因此,在两种情况下,您的构建都需要完全可重现。
可能的解决方法是使这个pasword初始化有条件以某种方式检测已经设置的数据库,或强制执行完全重置,以便您可以安全地在每次构建时运行init命令