Google App Engine으로 배포를 하는 도중 배포를 중단하는 경우 현재 버전이 Transaction을 잡고 있어 배포가 되지 않는 경우가 있다. 이 경우 해결방법은 두 가지가 있다.

첫번째 방법은 버전을 변경하는 것이다. 예를 들어 버전이 3이었으면 4로 버전을 바꾸고 배포를 하면 된다.

두번째 방법은 appcfg 명령어를 활용해 rollback할 수 있다. 이런 상황이 발생할 때마다 버전을 변경하기는 좀 뭐시기 하기 때문에 이 때 사용하면 된다.

$ appcfg rollback application_directory

위와 같이 지정하면 된다. application_directory는 배포한 application의 로컬 경로를 의미한다. 예를 들어 D:\gae-workspace\workspace\play-slipp에 개발하고 있는 application이 있다면 "appcfg rollback D:\gae-workspace\workspace\play-slipp"를 실행하면 된다.

만약 appengine-web.xml과 web.xml을 찾을 수 없다면 에러 메시지가 발생한다면 "appcfg rollback D:\gae-workspace\workspace\play-slipp\war"를 실행한다. 일반적으로 war 디렉토리 하위에 appengine-web.xml과 web.xml을 관리하는 경우가 많기 때문이다.

이와 같이 rollback을 실행한 후에 배포를 진행하면 정상적으로 실행되는 것을 확인할 수 있다.