Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Cloudbees Jenkins会间歇性地失败,并出现MySQL拒绝访问错误?_Mysql_Cloudbees - Fatal编程技术网

为什么Cloudbees Jenkins会间歇性地失败,并出现MySQL拒绝访问错误?

为什么Cloudbees Jenkins会间歇性地失败,并出现MySQL拒绝访问错误?,mysql,cloudbees,Mysql,Cloudbees,我们已经将Cloudbees Jenkins设置为在Github中检测到提交时运行集成测试作业。但由于某些奇怪的原因,某些间歇性构建失败,并出现以下错误: 错误1045(28000):拒绝用户“root”@“localhost”的访问(使用密码:是) 在集成测试工作中,我们执行以下操作: 删除MySQL数据库(如果存在) 为集成测试创建一个新的数据库 运行集成测试(Junit) 我们曾经为根用户将MySQL admin的密码设置为“MySQL”——通过在作业中执行shell命令。后来我们删除了它

我们已经将Cloudbees Jenkins设置为在Github中检测到提交时运行集成测试作业。但由于某些奇怪的原因,某些间歇性构建失败,并出现以下错误:

错误1045(28000):拒绝用户“root”@“localhost”的访问(使用密码:是)

在集成测试工作中,我们执行以下操作:

  • 删除MySQL数据库(如果存在)
  • 为集成测试创建一个新的数据库
  • 运行集成测试(Junit)
  • 我们曾经为根用户将MySQL admin的密码设置为“MySQL”——通过在作业中执行shell命令。后来我们删除了它,因为下一次它失败了,这给了我们一个指示,即不需要每次作业都设置密码


    任何关于为什么会发生这种情况的信息都会有所帮助

    Cloudbees平台使用一个从池,您的构建可能发生在它已经构建的节点上(分配算法试图为您提供这样一个,以便您获得所有已配置的依赖项),但有时您必须在新节点上开始构建。因此,您的构建在这两种情况下都需要完全可复制


    可能的解决方法是使此pasword初始化具有某种条件,以便您检测数据库是否已设置,或者强制执行完全重置,以便在每个构建上安全地运行init命令

    我可以通过在cloudbees上的Jenkins中添加以下内容来解决此问题:mysqladmin-u root password'mysql'--socket=/home/Jenkins/mysql/mysql.sock>>temp.txt重定向确保如果命令失败,构建不会停止。当密码为空时,它将设置密码。