Install Subversion on Ubuntu - II > GitLab 자료실

본문 바로가기
사이트 내 전체검색

GitLab 자료실

Install Subversion on Ubuntu - II

페이지 정보

profile_image
작성자 꿈꾸는여행자
댓글 2건 조회 1,390회 작성일 24-03-04 10:34

본문

안녕하세요.

꿈꾸는여행자입니다.


기존 Install Subversion on Ubuntu - I
내용에 계속된, Subversion 설정 관련된 내용입니다.


상세 내역은 아래와 같습니다.


감사합니다.



> 아래


________________


목차

2.5. SVN service 등록        6
2.5.1. /etc/init.d/svnserve 파일 작성        6
2.5.2. 파일 권한 설정 및 Service 등록        8
2.6. SVN 기동 및 중지        9
3. Subversion CLI        11
X. Reference        12
X.1. Url        12


2.5. SVN service 등록
2.5.1. /etc/init.d/svnserve 파일 작성
* 서버가 시작될때 자동으로 서비스가 기동할수 있도록 Service에 등록 합니다. /etc/init.d 로 가서 svnserve라는 파일을 서비스로 등록합니다.
* 다음과 같이 실행합니다.
  * sudo vim /etc/ini.d/svnserve
#! /bin/sh
### BEGIN INIT INFO
# Provides:          svnserve
# Required-Start:    $local_fs $syslog $remote_fs
# Required-Stop:    $local_fs $syslog $remote_fs
# Default-Start:    2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start svnserve
### END INIT INFO


# Author: Michal Wojciechowski <odyniec@odyniec.net>


PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="svnserve"
NAME=svnserve
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="-d -r /home/svn/"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME


[ -x "$DAEMON" ] || exit 0


[ -r /etc/default/$NAME ] && . /etc/default/$NAME


. /lib/init/vars.sh


. /lib/lsb/init-functions


do_start()
{
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
                $DAEMON_ARGS \
                || return 2
}


do_stop()
{
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
        [ "$?" = 2 ] && return 2
        rm -f $PIDFILE
        return "$RETVAL"
}


case "$1" in
  start)
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                  # Failed to stop
                log_end_msg 1
                ;;
        esac
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 3
        ;;
esac


exit 0
  * * Script 설명 내역
  * 본인이 리포지토리를 생성한 폴더 경로를 확인하여 DAEMON_ARGS="-d -r /home/svn/" 내역에 설정합니다.


2.5.2. 파일 권한 설정 및 Service 등록
* 다음과 같이 실행합니다.
  * # 권한 설정과 서버 재시작 후 자동 실행하도록 설정
sudo chmod +x /etc/init.d/svnserve
sudo update-rc.d svnserve defaults


# service 등록한 명령어 갱신
sudo systemctl daemon-reload
root@devops-jenkins:/etc/init.d# sudo chmod +x /etc/init.d/svnserve
root@devops-jenkins:/etc/init.d# sudo update-rc.d svnserve defaults
root@devops-jenkins:/etc/init.d# sudo systemctl daemon-reload
root@devops-jenkins:/etc/init.d#
  *

2.6. SVN 기동 및 중지
* 다음과 같이 실행합니다.
  * #시작
sudo systemctl start svnserve.service


#상태확인
sudo systemctl status svnserve.service


#중지
sudo systemctl stop svnserve.service


#재시작
sudo systemctl restart svnserve.service


root@devops-jenkins:~/work/svn_test/repos# sudo systemctl status svnserve.service
● svnserve.service - LSB: Start svnserve
    Loaded: loaded (/etc/init.d/svnserve; generated)
    Active: active (running) since Tue 2023-12-12 00:56:41 UTC; 59min ago
      Docs: man:systemd-sysv-generator(8)
    Process: 147179 ExecStart=/etc/init.d/svnserve start (code=exited, status=0>
      Tasks: 1 (limit: 9516)
    Memory: 960.0K
    CGroup: /system.slice/svnserve.service
            └─147186 /usr/bin/svnserve -d -r /home/svn/


Dec 12 00:56:41 devops-jenkins systemd[1]: Starting LSB: Start svnserve...
Dec 12 00:56:41 devops-jenkins svnserve[147185]: DIGEST-MD5 common mech free
Dec 12 00:56:41 devops-jenkins systemd[1]: Started LSB: Start svnserve.
Dec 12 01:01:58 devops-jenkins svnserve[147368]: DIGEST-MD5 common mech free
Dec 12 01:08:53 devops-jenkins svnserve[147538]: DIGEST-MD5 common mech free
Dec 12 01:10:25 devops-jenkins svnserve[147593]: DIGEST-MD5 common mech free
Dec 12 01:11:23 devops-jenkins svnserve[147618]: DIGEST-MD5 common mech free
Dec 12 01:13:06 devops-jenkins svnserve[147665]: DIGEST-MD5 common mech free
Dec 12 01:14:00 devops-jenkins svnserve[147691]: DIGEST-MD5 common mech free
Dec 12 01:14:04 devops-jenkins svnserve[147697]: DIGEST-MD5 common mech free
root@devops-jenkins:~/work/svn_test/repos#
  *

________________


3. Subversion Command
3.1. 설치 확인 - svn cli
* 다음과 같이 실행합니다.
  * svn --version


  *

3.2. 소스 가져 오기 - Checkout
* 다음과 같이 실행합니다.
  * svn checkout \
  --username USERNAME \
  --password PASSWORD \
  svn://SVN_IP/SVN_REPOSITORY


root@devops-jenkins:~/work/svn_test# svn checkout $SVN_REPO_URL $SVN_CHECKOUT_DIR
Authentication realm: <svn://localhost:3690> 5ace4345-9374-4b2d-aa18-c3cc8cb5f133
Password for 'user01': ********


A    svn_repos/file01.txt
A    svn_repos/file02.txt
Checked out revision 2.
root@devops-jenkins:~/work/svn_test# tree
.
└── svn_repos
    ├── file01.txt
    └── file02.txt


1 directory, 2 files
root@devops-jenkins:~/work/svn_test#
  *

3.3. 소스 업데이트 - Update
* 다음과 같이 실행합니다.
  * svn update


  *

3.4. 소스 업로드
* 파일을 추가합니다.
  * mkdir project01 project02


cd project01/
touch file01.txt file02.txt
root@devops-jenkins:~/work/svn_test/repos# mkdir project02
root@devops-jenkins:~/work/svn_test/repos# cd project01/
root@devops-jenkins:~/work/svn_test/repos/project01# touch file01.txt
root@devops-jenkins:~/work/svn_test/repos/project01# touch file02.txt
root@devops-jenkins:~/work/svn_test/repos/project01# cd ..


  * * 다음과 같이 실행합니다.
  * svn status


svn update


svn add * --force


svn commit -m ‘Create file and Directory’
root@devops-jenkins:~/work/svn_test/repos# svn status
?      project01/file01.txt
?      project01/file02.txt
A      project02
root@devops-jenkins:~/work/svn_test/repos#
root@devops-jenkins:~/work/svn_test/repos# svn update
Updating '.':
Authentication realm: <svn://localhost:3690> 5ace4345-9374-4b2d-aa18-c3cc8cb5f133
Password for 'user01': ********


At revision 1.
root@devops-jenkins:~/work/svn_test/repos#
root@devops-jenkins:~/work/svn_test/repos# svn add * --force
A        project01/file01.txt
A        project01/file02.txt
root@devops-jenkins:~/work/svn_test/repos#
root@devops-jenkins:~/work/svn_test/repos# svn status
A      project01/file01.txt
A      project01/file02.txt
A      project02
root@devops-jenkins:~/work/svn_test/repos#
root@devops-jenkins:~/work/svn_test/repos# svn commit -m "Create file and directory"
Authentication realm: <svn://localhost:3690> 5ace4345-9374-4b2d-aa18-c3cc8cb5f133
Password for 'user01': ********


Adding        project01/file01.txt
Adding        project01/file02.txt
Adding        project02
Transmitting file data ..done
Committing transaction...
Committed revision 2.
root@devops-jenkins:~/work/svn_test/repos#


  *

3.5. Revision 정보 확인
* 다음과 같이 실행합니다.
  * svn info
root@devops-jenkins:~/work/svn_test/repos# svn info
Path: .
Working Copy Root Path: /root/work/svn_test/repos
URL: svn://localhost/repos
Relative URL: ^/
Repository Root: svn://localhost/repos
Repository UUID: 5ace4345-9374-4b2d-aa18-c3cc8cb5f133
Revision: 1
Node Kind: directory
Schedule: normal
Last Changed Author: user01
Last Changed Rev: 1
Last Changed Date: 2023-12-12 01:08:53 +0000 (Tue, 12 Dec 2023)


root@devops-jenkins:~/work/svn_test/repos#
  * ________________


X. Reference
X.1. Url
* Subversion - Install
  * [Linux] Ubuntu SVN 설정 - Ubuntu 22.0.4 LTS
      * https://velog.io/@xangj0ng/Linux-Ubuntu-SVN-%EC%84%A4%EC%A0%95
  * [Subversion] Ubuntu에 svn 설치하기
      * https://dejavuqa.tistory.com/12
  * [Ubuntu] 우분투 SVN Server 설치 ( subversion )
      * https://bab-dev-study.tistory.com/26
* Subversion - CLI
  * SVN CLI 사용 방법
      * https://wiki.tistory.com/entry/SVN-%EC%BB%A4%EB%A7%A8%EB%93%9C-%EA%B8%B0%EB%B0%98-%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95
* Subversion - Info
  * What Is Subversion?
      * https://svnbook.red-bean.com/en/1.8/svn.intro.whatis.html

댓글목록

profile_image

throne님의 댓글

throne 작성일

<스팸으로 인한 삭제>

profile_image

throne님의 댓글

throne 작성일

<스팸으로 인한 삭제>

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템
대표이사 : 정정모
본사 : 강남구 봉은사로 114길 40 홍선빌딩 2층
- tel : 02-6207-1160
대전지사 : 유성구 노은로174 도원프라자 5층
- tel : 042-331-1161

접속자집계

오늘
1,310
어제
2,225
최대
3,935
전체
1,046,878
Copyright © www.linuxdata.org All rights reserved.