부담없이 svn 서버 세워 post-commit
4947 단어 svn
First
조금 상담되었으므로, 간단한 환경을 만들어 보았으므로 메모.
지금, 사내 호스트 SVN 라고 하는 시점에서 여러가지 찰아지만, 뭐 그렇게 말하지 않고. 필요가 있음 자체는 부인할 수 없다.
그런 이유로 깎아서 post-commit으로 놀 수있는 것을 만들었다. 이 기사는 그 해설이다.
구현은 youknowcast/svn-docker-wrapper을 참조하십시오.
Usage
Subversion 포함의 Docker 이미지로서 elleFlorio/svn-docker를 이용시켜 주므로, 그쪽도 해결하면서 끌어온다.
$ git clone [email protected]:youknowcast/svn-docker-wrapper.git --recursive
docker-compose로 시작합니다.
※ docker-compose 등의 도입에 대해서는 할애한다
$ docker-compose up -d
http://localhost/svnadmin
에 액세스하면 iF.SVNAdmin이라는 도구가 시작되어 GUI에서 최소한의 설정을 할 수있는 것 같습니다.
미리 컨테이너 안에 htpasswd
로 설정하지 않는 한 사용자는 admin/admin
이므로이 설정으로 로그인합니다.
GUI에서 다음과 같은 방법으로 리포지토리, 사용자 및 연결을 수행합니다.
1. 리포지토리 > 추가로 적절한 리포지토리 추가(e.g. test)
2. Users > Add 로 적당한 사용자 추가(e.g. youknow)
3. Access-Paths에서 1
2
에서 추가 한 리포지토리와 사용자를 연결합니다. 권한은 Read & Write 로 한다
등록 된 정보를 기반으로 local에서 svn checkout합니다.
※ Bulk 로 유저 등록하는 경우는 아마 svnadmin
로 뭔가 할 생각이 있다고 생각합니다.
$ svn co --username youknow http://localhost/svn/test
post-commit 사용
post-commit 사용
$ cp -p svn/{repository}/hooks/post-commit.tmpl svn/{repository}/hooks/post-commit
# 振られているはずだが,一応権限も振っておく
$ chmod +x svn/{repository}/hooks/post-commit
여러가지 출력하고 놀아 본다
$ cat /home/svn/test/hooks/post-commit
(略)
REPOS="$1"
REV="$2"
TXN_NAME="$3"
# 引数で渡ってくる情報のチェック
echo "$REPOS $REV $TXN_NAME" >> /home/svn/test/logs
# `svnlook` でとれそうな付帯情報のチェック
svnlook info $REPOS >> /home/svn/test/logs
# もとの mailer 設定については使わない場合はコメントアウトしておきましょう.
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
위의 예에서는 다음과 같은 정보를 얻을 수 있습니다.
조금 확장하면 checkout -> gcc -> ./a.out 정도의 간이 CI 코드는 쓸 수 있을 것이다.
시험에 커밋해 보면 다음과 같은 느낌으로 동작하고 있는 것을 확인할 수 있다.
$ cat /home/svn/test/logs
/home/svn/test 5 4-4 # ★ $REPOS $REV $TXN_NAME
youknow # ★ コミットユーザ
2021-02-07 17:13:41 +0000 (Sun, 07 Feb 2021) # ★ 時刻
17 # ★ ログメッセージの文字数
youknow changed # ★ コミットメッセージ
참고
svn-docker(very useful)
htps : // 기주 b. 코 m / 엣 F ぉ 리오 / sv- c c
svn-docker 동봉 된 iF.SVNADMIN의 초기 설정에 대해서는 다음이 참고되었다.
h tp // w w.ゔ yc 응. 코 m / 아 r c / d c r r e f
post-commit에 대해서는 이하를 참고로 하였다.
htps : // m / 3 / ms / 69 9df146b9 a f5b9094
Reference
이 문제에 관하여(부담없이 svn 서버 세워 post-commit), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/youknowcast/items/89316c159e34d2237a43
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ git clone [email protected]:youknowcast/svn-docker-wrapper.git --recursive
$ docker-compose up -d
$ svn co --username youknow http://localhost/svn/test
$ cp -p svn/{repository}/hooks/post-commit.tmpl svn/{repository}/hooks/post-commit
# 振られているはずだが,一応権限も振っておく
$ chmod +x svn/{repository}/hooks/post-commit
$ cat /home/svn/test/hooks/post-commit
(略)
REPOS="$1"
REV="$2"
TXN_NAME="$3"
# 引数で渡ってくる情報のチェック
echo "$REPOS $REV $TXN_NAME" >> /home/svn/test/logs
# `svnlook` でとれそうな付帯情報のチェック
svnlook info $REPOS >> /home/svn/test/logs
# もとの mailer 設定については使わない場合はコメントアウトしておきましょう.
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
$ cat /home/svn/test/logs
/home/svn/test 5 4-4 # ★ $REPOS $REV $TXN_NAME
youknow # ★ コミットユーザ
2021-02-07 17:13:41 +0000 (Sun, 07 Feb 2021) # ★ 時刻
17 # ★ ログメッセージの文字数
youknow changed # ★ コミットメッセージ
svn-docker(very useful)
htps : // 기주 b. 코 m / 엣 F ぉ 리오 / sv- c c
svn-docker 동봉 된 iF.SVNADMIN의 초기 설정에 대해서는 다음이 참고되었다.
h tp // w w.ゔ yc 응. 코 m / 아 r c / d c r r e f
post-commit에 대해서는 이하를 참고로 하였다.
htps : // m / 3 / ms / 69 9df146b9 a f5b9094
Reference
이 문제에 관하여(부담없이 svn 서버 세워 post-commit), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/youknowcast/items/89316c159e34d2237a43텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)