멘도쿠사이에서 Jenkins의 직업에 SVN 커밋 한 이야기
doma-gen을 사용하여 Dao를 자동 생성하고 있습니다만, 개발 서버의 DB에 변경이 들어갈 때마다 자동 생성을 실시하는 것은 인간의 일이 아닐 것이라고 생각해 Jenkins 아저씨에게 하게 했습니다 메모.
잘 읽고, Jenkins에서 여러 가지를 할 수 있다고 생각합니다.
환경
Jenkins 설정
다음 설정을 합니다.
1. 소스 코드 관리
커밋할 SVN 리포지토리를 지정합니다.
2. 빌드 트리거
이번에 특히 훅 할 수 있는 트리거가 없기 때문에, 하루 중 1시간마다 같은 정의로 하고 있습니다. 매 시간마다 최신화하면 충분했습니다.
3. 전처리
(로컬 환경과 서버 환경에서 SVN 버전이 다른 경우) 체크 아웃 한 작업 복사본의 버전을 맞추기 위해 "svn upgrade"를 수행합니다.
4. 빌드
maven의 antrun으로 doma-gen을 킥합니다.
5. 후처리
주제. 이하, 화상에 붙이고 있는 말풍선의 거리입니다만, Linux의 대화가 힘들다.
이쪽을 참고로 했습니다 → Linux의 대화가 귀찮아? 그런 때야말로 자동화다! -expect편-
참고
코피페용.
전처리#!/bin/bash
# SVNのバージョンを合わせる。
cd $WORKSPACE/web
svn upgrade
후처리#!/bin/bash
svn add ./web/src/* --force
svn status
expect -c "
set timeout 10
spawn env LANG=C /usr/bin/svn commit -m \"commit Comment\" --username \"jenkins\" --password \"password\"
expect \"(R)eject, accept (t)emporarily or accept (p)ermanently?\"
send \"p\n\"
expect \"Store password unencrypted (yes/no)?\"
send \"yes\n\"
expect \"$\"
exit 0
"
요약
하고 싶은 일은 하지 않고, 쉘이라든지 쓰여져 쓰거나 해도 좋다고 생각합니다만, 「SVN 체크아웃 해―, maven 실행해―, 커밋 해―, 그것을 스케줄링 해―」,라고 말한다 세세한 일련의 작업을 1화면으로 정리해 할 수 있었으므로, 이번 하고 싶은 것을 하기에는 제일 편했습니다.
약간의 "쉘 실행 프레임 워크"적인 Jenkins를 사용하는 방법이었습니다.
Reference
이 문제에 관하여(멘도쿠사이에서 Jenkins의 직업에 SVN 커밋 한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nisioka/items/aee3e53f9b86fa1ab5f7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/bin/bash
# SVNのバージョンを合わせる。
cd $WORKSPACE/web
svn upgrade
#!/bin/bash
svn add ./web/src/* --force
svn status
expect -c "
set timeout 10
spawn env LANG=C /usr/bin/svn commit -m \"commit Comment\" --username \"jenkins\" --password \"password\"
expect \"(R)eject, accept (t)emporarily or accept (p)ermanently?\"
send \"p\n\"
expect \"Store password unencrypted (yes/no)?\"
send \"yes\n\"
expect \"$\"
exit 0
"
하고 싶은 일은 하지 않고, 쉘이라든지 쓰여져 쓰거나 해도 좋다고 생각합니다만, 「SVN 체크아웃 해―, maven 실행해―, 커밋 해―, 그것을 스케줄링 해―」,라고 말한다 세세한 일련의 작업을 1화면으로 정리해 할 수 있었으므로, 이번 하고 싶은 것을 하기에는 제일 편했습니다.
약간의 "쉘 실행 프레임 워크"적인 Jenkins를 사용하는 방법이었습니다.
Reference
이 문제에 관하여(멘도쿠사이에서 Jenkins의 직업에 SVN 커밋 한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nisioka/items/aee3e53f9b86fa1ab5f7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)