2011-11-19 3 views
1

매일 밤 내 테스트 시스템을 클라우드의 dev @ cloud 시스템에 자동으로 배포하려고합니다.Cloudbees의 Grails 데이터베이스 마이그레이션 및 젠킨스

이제 문제는 내가 grails에서 dbm-update 목표를 사용하고 젠킨스에서 데이터베이스를 업데이트하려고하는 것입니다. 이 컨텍스트에서는 com.cloudbees.jdbc.Driver를 사용할 수 없기 때문에 이는 문제가됩니다. 앱이 테스트 시스템에 배포 된 경우에만.

누군가가 이미이 문제를 해결하고 해결 방법을 알려주는 데 도움이 될 수 있습니까?

감사

답변

3

당신은 당신의 테스트 응용 프로그램이 시작 할 때

grails.plugin.databasemigration.updateOnStart = true 
grails.plugin.databasemigration.updateOnStartFileNames = ['changelog.groovy'] 

이 당신이해야 할 마이그레이션하지 실행, 테스트 환경에서 응용 프로그램의 플러그인에 updateOnStart 플래그를 설정할 수 있습니다 별도의 dbm-update. 실행중인 응용 프로그램과 동일한 JDBC 드라이버를 사용하므로 작동해야합니다. 실행 콘솔에서

+0

고맙습니다. 한 가지 질문입니다. 데이터베이스 업데이트가 실패 할 때 어떤 일이 발생합니까? 나중에 프로덕션 시스템을 실행할 때 사전에 프로덕션 데이터베이스를 실행하고 오류에 대응하기 위해 배포와 다른 부분을 갖는 것이 좋을 것입니다. – Gambo

+0

커밋하기 전에 dbm-update를 로컬로 실행하여 마이그레이션을 실행할 때이를 알아야합니다. 그러나 실패하면 응용 프로그램이 시작되지 않습니다. 하지만 CI가 테스트 중 실패를 잡을 수는 있습니다. –

0

봐 (https://run.cloudbees.com) -이 당신은 당신의 MySQL의 설정을 찾을 수

당신은 그냥 어디에서 MySQL 데이터베이스에 연결하는 표준 MySQL의 JDBC 드라이버를 사용할 수 있습니다 (DEV @ cloud 및 테스트 케이스 포함).