2013-04-12 1 views
0

우리는 Github에서 커밋을 감지 할 때마다 통합 테스트 작업을 실행하도록 Cloudbees Jenkins를 설정했습니다.MySQL의 액세스 거부 오류로 Cloudbees Jenkins가 일시적으로 실패합니까?

ERROR 1045 (28000) :하지만 어떤 이상한 이유로, 간헐적 다음과 같은 오류와 함께 실패 빌드 우리의 통합 테스트에서

: 액세스가 사용자 '루트'에 대한 @ 'localhost를'(YES 암호를 사용하여) 거부 우리는 다음 작업을 수행합니다.

  1. MySQL 데이터베이스가 있으면 삭제하십시오.
  2. 통합 테스트 용 새 DB를 만듭니다. 작업에 쉘 명령을 실행하여 -
  3. 실행 통합 테스트 (Junit와)

우리는 한 번 루트 사용자를위한 'MySQL을'에 MySQL의 관리자의 암호를 설정했다. 나중에 암호를 제거 할 때 다음 번에 실패 했으므로 암호를 제거 할 필요가 없습니다.

왜 이런 일이 발생했는지에 대한 모든 정보가 도움이 될 것입니다.

+0

구축에 안전하게 init 명령을 실행할 수 있도록 당신이 DB가 이미 설정되어 감지, 또는 전체 재설정을 실행하는 몇 가지 방법이 (암호) 초기화가 조건 확인하는 것입니다 해결 방법이 문제는 Jenkins의 cloudbees에 다음을 추가하여 해결할 수 있습니다. mysqladmin -u root password 'mysql'--socket =/home/jenkins/mysql/mysql.sock >> temp.txt 리디렉션을 통해 명령이 실패하면 빌드 멈추지 않을거야. 암호가 비어 있으면 암호가 설정됩니다. – Gurpreet

답변

0

Cloudbees 플랫폼은 슬레이브 풀을 사용하며 이미 빌드 된 노드에서 빌드가 수행 될 수 있습니다 (할당 알고리즘이이를 제공하므로 모든 종속성이 이미 제공됨).하지만 빌드가 완료 될 때가 있습니다. 새로운 새로운 노드에서 시작합니다. 따라서 두 가지 상황에서 빌드를 완전히 재현 할 수 있어야합니다.

가능한 해결 방법은 모든 내가 할 수 있었다