naver / yobi

Project hosting software - Deprecated

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

0.7.3 에서 0.8 업데이트 방법 정리

alzkdpf opened this issue · comments

#921 에 질문을 바탕으로 업데이트 진행한 결과 이상없이 실행되내요.

좋은 툴인데 문서가 부족한듯 싶어 나름 노가다?의 결과를 공유드립니다.
틀린 부분은 추가해주시면 다른 분들 설치에 도움 될 것 같습니다.

A. 0.7.3 에서 다음 파일을 백업 합니다.

-> uploads(압축), repo(압축), yobi.h2.db

< yobi.h2.db 의 경우>
-> cp yobi.h2.db yobi.h2.db.bak (혹시 모를 상황에 대비해 확장자만 변경, 복사 시켜놓습니다.)

<yobi.h2.db 복구 파일 생성>
-> .sql 로 추출
(play-2.1.0/yobi 폴더에서)
java -cp ../repository/local/com.h2database/h2/1.3.168/jars/h2.jar org.h2.tools.Recover

-> .zip 로 추출
(play-2.1.0/yobi 폴더에서)
java -cp ../repository/local/com.h2database/h2/1.3.168/jars/h2.jar org.h2.tools.Script -url jdbc:h2:file:yobi -user "" -script ./backup_file_name.zip -options compression zip

B. 새 버전으로 다운로드

새 버전 설치는 현재 제공되는 가이드 절차에 따라 설치를 진행합니다.

C. 새버전에 백업파일 복사후 복원
(activator-1.2.10-minimal/yobi 폴더에서)

A에서 생성한 uploads.zip 과 repo.zip 파일 및 db 백업파일(tools.Recover 또는 script 실행으로 생성된 .sql 또는 .zip 파일) 을 복사 시켜 놓습니다. 이중 uploads 와 repo 만 압축을 해제해 복원시키며 db 백업 파일은 하기 명령어를 사용해 복원 시킵니다.

<yobi.h2.db 파일 복원 (yobi 0.8 에서 제공하는 1.3.176 라이브러리를 사용합니다.)>

< .sql 복원 >
(activator-1.2.10-minimal/yobi 폴더에서)
-> java -cp ./target/universal/stage/lib/com.h2database.h2-1.3.176.jar org.h2.tools.RunScript -url jdbc:h2:file:yobi -user "" -script yobi.h2.sql

<.zip 복원>
(activator-1.2.10-minimal/yobi 폴더에서)
-> java -cp ./target/universal/stage/lib/com.h2database.h2-1.3.176.jar org.h2.tools.RunScript -url jdbc:h2:file:yobi -user "" script backup_file_name.zip -options compression zip

D. conf 설정 이때 db.default.url 은 절대 경로로 지정해 버릴 것!!

  • 0.7.3 버전에서 설정한 application.conf 설정을 0.8로 옮겨 주셔야 됩니다. compare tool이 있다면 비교 변경하시면 되고 없다면 아래 두가지는 확인 후 반드시 수정해 주셔야 합니다.

($Path = ~/activator-1.2.10-minimal/yobi -yobi 설치 경로입니다.- )
db.default.url="jdbc:h2:file:$Path/yobi;MODE=PostgreSQL;MV_STORE=FALSE;MVCC=FALSE"
-> yobi.h2.db 처럼 db 파일명이 yobi 일 경우 위와 같이 설정하며 기타 별도의 파일명을 사용하실 경우 아래처럼 지정합니다.

db.default.url="jdbc:h2:file:$Path/fileName;MODE=PostgreSQL;MV_STORE=FALSE;MVCC=FALSE"

<application.secret 설정>
0.7.3 사용시 생성된 값을 그대로 0.8로 옮겨줍니다. 미설정시 새로운 사이트로 인식되거나 admin 로그인이 안되내요.

E. 실행 옵션 홈 경로 및 conf 경로 설정 (중요!!)
-이부분 제대로 진행 안하시면 첨부파일이 안보이거나 사이트가 새로 생성되 버립니다.
(/target 폴더에 넣는 방법이 있으나 비추하시는 관계로 실행시 명령어에 포함했습니다.)

($Path = ~/activator-1.2.10-minimal/yobi -yobi 설치 경로입니다.- )
start -DapplyEvolutions.default=true -Dhttp.port=9000 -Dyobi.home=$Path/activator-1.2.10-minimal/yobi -Dconfig.file=$Path/activator-1.2.10-minimal/yobi/conf/application.conf

틀린 부분이나 추가 부분은 댓글 부탁드립니다.

고생해서 작업하시고 정리까지 잘 해 주셔서 고맙습니다.

혹시 괜찮으시다면 저희 README.md 스타일에 맞춰서 pull request로 보내주시면 어떠세요?
별건 아니지만 Yobi contributor로 등록해서 작은 기념품 드릴수 있을 것 같아요. : )

그리고 저희쪽에서도 수정할 부분이 보이네요.
이를테면 JDBC URL부분의 MV_STORE=FALSE;MVCC=FALSE 같은 경우에는 h2 db가 1.4.x 가 아니라면 이미 기본값이라 필요없을 듯 합니다만 저희가 깜박하고 https://github.com/naver/yobi/blob/master/conf/application.conf.default 에서 제거 하지 않은것 같습니다.

이부분은 확인해서 다시 이야기 드릴게요.

상세한 내용 정리 & 공유 정말 감사합니다.

0.8에서 Play Framework 버전을 2.1에서 2.3으로 올리면서 설치 관련해서 여러가지 문제가 생겼습니다. 그래도 -Dyobi.home 설정하면 잘 되게 만들려고 했었는데 의도대로 되지 않았네요. 대신 YOBI_HOME을 설정하면 잘 되도록 고쳐서 0.8.1을 릴리즈하였습니다. (다만 윈도에선 여전히 yobi.home, config.file, logger.file을 모두 지정하여야합니다)

0.8.1에서 여러가지 수정을 했지만 여전히 DB 업그레이드에 대한 문제는 남아있을 것 같습니다. (공유해주신 "A" 부분) 이건 저희가 저 DB 에러를 재현하지 못해서 어떻게 하지 못했습니다. 재현할 수 있는 방법을 아시는 분이 계시면 공유해주시면 좋을 것 같습니다.

저도 업그레이드하면서 문제있었던 부분을 잘 적어주셨내요 ^^

주말 사이 문서가 많이 정리됐내요. ^^
궁금했던 정보들 추가해 주셔서 감사합니당~
@doortts 문서라도 조금이나마 보탬이 되드리고 싶은데 방법을 잘 몰라서 댓글 및 첨부 링크로 드립니다.

주말 사이 문서 내용이 많이 추가되서 db 백업, 복원만 추가되면 될 것 같내요.~
첨부

0.7.3 에서 0.8.1 업데이트 방법

DB 백업 방법

~/play-2.1.0/yobi (0.7.3)폴더에서:

yobi.h2.db 사본 생성

cp yobi.h2.db yobi.h2.db.bak

.sql 로 백업

java -cp ../repository/local/com.h2database/h2/1.3.168/jars/h2.jar org.h2.tools.Recover

.zip 로 백업

java -cp ../repository/local/com.h2database/h2/1.3.168/jars/h2.jar org.h2.tools.Script -url jdbc:h2:file:yobi -user "" -script ./backup_file_name.zip -options compression zip

Note: .zip 로 백업하는 방법을 권장드리며 추후에도 h2 라이브러리를 활용해 백업 및 복원을 추천드립니다.

DB 복원 방법

~/activator-1.2.10-minimal/yobi (0.8.1)폴더에서:

.sql 복원

java -cp ./target/universal/stage/lib/com.h2database.h2-1.3.176.jar org.h2.tools.RunScript -url jdbc:h2:file:yobi -user "" -script yobi.h2.sql

.zip 복원

java -cp ./target/universal/stage/lib/com.h2database.h2-1.3.176.jar org.h2.tools.RunScript -url jdbc:h2:file:yobi -user "" script ./backup_file_name.zip -options compression zip

application.conf 설정

application.secret을 사용하던 0.7.3 버전에서 확인후 0.8.1 로 붙여넣기 합니다.

@alzkdpf 정말 감사합니다. 다행이 복구 하는데 문제없이 잘한거 같습니다.
근데 추가로 궁금한게 사이트 접속이 된 후 로그인을 할려고 하면 아이디와 패스워드가 맞지 않다고 나오는데 이건 어떤 이유인지요? 설정은 위에 알려 주신 내용대로 conf파일에서도 수정을 하였습니다.

@namineya 저같은 경우 admin 설정 페이지가 안떴을 경우 정상적으로 로드된거라 생각했는데
그렇지 않은 케이스도 있었습니다.
application.secret 값이 적용이 안됬거나 db.default.url 설정이 잘 못되있을 경우 혹은
application.conf 를 로드 못했을 경우 동일한 현상이 있었습니다.

아래 세가지 정도만 정확하면 정상적으로 읽히는 것 같습니다.

check list

  • application.conf 가 제대로 읽히는지
  • application.secret 적용여부
  • db.default.url 확인

저도 버전업 과정에서 동일한 DB문제가 발생했는데요
h2-1.3.168.jar로 백업 및 복원을 수행하니 에러가 발생하네요.
DB 백업 복원시 com.h2database.h2-1.3.176.jar 버전을 사용하니 잘되네요.
다른 분들도 참고하시기 바랍니다.

윈도우에서 yobi.bat파일로 실행하면 오류 나네요.
git이 설치되어 있으시면 git bash로 yobi 실행하시면 정상적으로 되네요.

  1. http://yobi.io/yobi.zip 다운로드
  2. 압축해제
  3. 기존 디비 h2-1.3.168.jar 버전으로 백업 후 com.h2database.h2-1.3.176.jar 버전으로 DB복구
  4. uploads, repo 복사
  5. git bash로 실행

+_+)b 문제해결. 감사합니다.

알려주신 방법으로 데이터 백업 및 업데이트 성공했습니다~ 감사합니다~^^

commented

@alzkdpf
첨부파일를 다시한번 부탁드립니다. 기간이 끝났나보네요 ㅜㅜ

정보 감사합니다.

먼 짓을 해도 안되던데... yobi.h2.db 파일을 지우고 복원하니 되네요.

스타트도 잘되고 접속도 잘되네요...

h2-1.3.168 에서 h2-1.3.176 으로 마이그레이션만하면 딱 되었네요!!!