부담없이 svn 서버 세워 post-commit

4947 단어 svn

First



조금 상담되었으므로, 간단한 환경을 만들어 보았으므로 메모.
  • 회사 내에서 호스팅하는 SVN 서버를 두드리고 싶습니다 ... (요구 사항 1)
  • 커밋시에 여러가지 고뇨고 싶은 ··(요망 2)
  • 검증 환경도 딱딱하고 싶다 · · (요망 3)



  • 지금, 사내 호스트 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

    좋은 웹페이지 즐겨찾기