[SVN] SVN μ€μΉ κ΄λ ¨ μλ£
- -
svn(Subversion) : μλΈλ²μ
νλ‘μ νΈ, μμ€, νμΌ, λ¬Έμ λ±μ λ²μ μ κ΄λ¦¬νλ νλ‘κ·Έλ¨
01. μ€μΉ νμΈ
]# svn
λλ
]# svn –version
λλ
]# rpm –qa | grep subversion
μ€μΉ
yumμ μ΄μ©ν΄μ μ€μΉνλ€.
]# yum install subversion
<μλ΅>
μ€μΉ μ€ μ§λ¬Έμ΄ λμ€λ©΄ yλ₯Ό μ λ ₯νκ³ μν°
<μλ΅>
μ€μΉ νμΈ
]# svn
λλ
]# svn –version
λλ
]# rpm –qa | grep subversion
02. μ μ₯μ(repository) λ§λ€κΈ°
μ μ₯μλ€μ ν λλ ν 리μμ κ΄λ¦¬νκΈ° μν΄ μ΅μμ λλ ν 리 /svn λ§λ€κΈ°
- /svn μ΄λ¦ λ° μμΉλ λ³κ²½ κ°λ₯
- /svn μλμ μ¬λ¬ κ°μ μ μ₯μλ₯Ό λ§λ€ μ μλ€.
]# mkdir /svn
]# cd /svn
/svn λλ ν 리 λ΄μ μ μ₯μλ₯Ό λ§λ λ€.
svnadmin create --fs-type fsfs μ μ₯μλͺ
]# svnadmin create --fs-type fsfs okkks.tistory.com
03. svnserve μλΉμ€ λ°λͺ¬ λ§λ€κΈ°
μ μ₯μ(repository)λ₯Ό λ§λ€μ§ μμλ€λ©΄ svn μ μ₯μ(repository) λ§λ€κΈ° μ°Έκ³ .
/etc/sysconfig/svnserve νμΌ λ§λ€κΈ°
- yumμΌλ‘ μ€μΉν΄λ μ νμΌμ΄ μμ±λμ§ μμΌλ―λ‘ μ§μ λ§λ λ€.
- service svnserve start/status/stop λ±μ λͺ λ Ήμ΄λ₯Ό μ¬μ©ν μ μλ€.
echo 'OPTIONS="--threads --root μ μ₯μμ μ΅μμ λλ ν 리"' > /etc/sysconfig/svnserve
]# echo 'OPTIONS="--threads --root /svn"' > /etc/sysconfig/svnserve
]# ll / etc/sysconfig/svnserve
]# cat /etc/sysconfig/svnserve
λλ
]# vi /etc/sysconfig/svnserve
OPTIONS="--threads --root /svn"
04. svnserve.conf μ€μ
/svn/μ μ₯μ λλ ν 리/conf/svnserve.conf
- svnserve.conf νμΌμ λͺ¨λ λ΄μ©μ΄ μ£ΌμμΌλ‘ μ²λ¦¬λμ΄μλ€.
- μλ³Έμ 보κ΄νκ³ μλ‘ λ§λ λ€.
]# cat /svn/okkks.tistory.com/conf/svnserve.conf
<μλ΅>
]# cd /svn/okkks.tistory.com/conf/
]# ll
]# mv svnserve.conf svnserve.conf.old
]# ll
]# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = okkks.tistory.com repository
]# cat svnserve.conf
μ€λͺ
- anon-access = none => λΉμΈμ¦ κ³μ : μ κ·Ό κΆν μμ
- auth-access = write => μΈμ¦ κ³μ : μ°κΈ° κΆν
- password-db = passwd => μΈμ¦ κ³μ μ 보
- authz-db = authz => μΈμ¦ κ³μ μ μ μ₯μ κΆν μ€μ νμΌ
- realm = okkks.tistory.com repository => μΈμ¦ν λ 보μ¬μ£Όλ κ°λ¨ν μ μ₯μ μ€λͺ μ΄λ€.(μλ΅ κ°λ₯)
κΆν
- none : μμ, read : μ½κΈ°, write : μ°κΈ°
05. passwd μ€μ : κ³μ (users/passwd)
/svn/μ μ₯μ λλ ν 리/conf/passwd
- μλ³Έμ 보κ΄νκ³ μλ‘ λ§λ λ€.
]# cd /svn/okkks.tistory.com/conf/
]# ll
]# cat passwd
]# mv passwd passwd.old
]# vi passwd
[users]
user1 = 1234
user2 = 1234
μ€λͺ
- 2λͺ μ κ³μ μμ±(user1/1234, user2/1234)
06. authz μ€μ : κΆν
/svn/μ μ₯μ λλ ν 리/conf/authz
- μλ³Έμ 보κ΄νκ³ μλ‘ λ§λ λ€.
]# cd /svn/okkks.tistory.com/conf/
]# mv authz authz.old
]# vi authz
[/]
user1 = rw
user2 = rw
]# cat authz
07. λ°©νλ²½ μ€μ (svn μΈλΆ μ μ)
μΈλΆμμ svn μλ²μ μ μνκΈ° μν μ€μ (iptables)
- svnμ΄ μ¬μ©νλ 3690 ν¬νΈλ₯Ό μ°λ€
]# vi /etc/sysconfig/iptables
<μλ΅>
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
λ°©νλ²½ μ€μ μ μ μ©μν¨λ€.
]# service iptables restart
08. svnserve μλΉμ€ λ°λͺ¬ μμ
/etc/sysconfig/svnserve νμΌ μ€μ μ νμΌλ©΄ service λͺ λ Ήμ΄λ‘ μλΉμ€λ₯Ό μμ/μ€μ§ν μ μλ€.
- svnμ 3690 ν¬νΈλ₯Ό μ¬μ©νλ€. (netstat λͺ λ Ήμ΄λ‘ νμΈ)
]# service svnserve start
]# ps –ef | grep svnserve
]# netstat –anp | grep svnserve
09. svn μλ μμ μ€μ
(μ¬)λΆν μ svnserve μλΉμ€λ₯Ό μλμΌλ‘ μμνλ€.
]# chkconfig --list svnserve
]# chkconfig svnserve on
]# chkconfig --list svnserve
svnμ μ μμ΄ λλμ§ μΈμ¦ νμΈμ νλ€.
- svn co svn://ip λλ λλ©μΈ μ£Όμ/μ μ₯μ
]# svn co svn://127.0.0.1/okkks.tistory.com
λλ
]# svn checkout svn://127.0.0.1/okkks.tistory.com
μ§νλλ©΄μ root μνΈ, μ¬μ©μλͺ , μ¬μ©μλͺ μ μνΈλ₯Ό μ λ ₯νλ€.
(svnserve.conf μ€μ : realm μλ΅)
(svnserve.conf μ€μ : realm = okkks.tistory.com repository)
(svn μΈμ¦ μ±κ³΅)
“체ν¬μμλ 리λΉμ 0”μ΄ λμ€λ©΄ μ±κ³΅ (checked out revision 0.)
μ°Έκ³ > λΉλ°λ²νΈ(μνΈνλμ§ μμ)λ₯Ό μ μ₯ν μ§ λ¬Όμ΄λ³΄λ©΄
Store password unencrypted (yes/no)?
"yes" λλ "no"λ₯Ό μ λ ₯ν΄λ μλλ κ²½μ° νκΈλ‘ "μ"λ₯Ό μ λ ₯νλ€.
linux μΈμ΄ μ€μ μ΄ νκΈλ‘ λμ΄ μκΈ° λλ¬Έμ΄λ€.
]# echo $LANG
“svn μΈμ¦ μ€ν¨”μ΄λ©΄ svnserve.conf, passwd, authz μ€μ λΆλΆμ λ€μ νμΈνλ€.
10. κΈ°λ³Έ λλ ν 리 λ§λ€κΈ°
svn mkdir λͺ λ Ήμ΄λ₯Ό μ΄μ©ν΄μ trunk, tags, branches λλ ν 리λ₯Ό λ§λ λ€.
]# svn mkdir svn://127.0.0.1/okkks.tistory.com/trunk
svn mkdir λͺ λ Ήμ΄λ₯Ό μ¬μ©ν μ μλ κ²½μ° λμ€λ λ΄μ©μ΄λ€.
svn mkdir λͺ λ Ήμ΄λ₯Ό μ¬μ©νκΈ° μν μ€μ
- ~/.bash_profile 맨 μλμ μΆκ°νλ€.
- source λͺ λ Ήμ΄λ₯Ό μ΄μ©ν΄μ .bash_profileμ μΆκ°ν λ΄μ©μ μ μ©νλ€.
]# cd ~
]# vi .bash_profile
<μλ΅>
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
]# source .bash_profile
svn mkdir λͺ λ Ήμ΄λ‘ trunk, tags, branchesλ₯Ό κ°κ° λ§λ λ€.
μ μ₯ ν λΉ μ Έλμ¨λ€(:wq μ λ ₯)
“c”λ₯Ό μ λ ₯νλ€.
]# svn mkdir svn://127.0.0.1/okkks.tistory.com/trunk
A svn://127.0.0.1/okkks.tistory.com/trunk
~
~
<μλ΅>
:wq μ λ ₯ν΄μ μ μ₯ ν λΉ μ Έλμ¨λ€.
c μ λ ₯νλ€.
#] svn mkdir svn://127.0.0.1/okkks.tistory.com/tags
#] svn mkdir svn://127.0.0.1/okkks.tistory.com/branches
λλ ν 리(trunk, tags, branches)κ° λ§λ€μ΄μ‘λμ§ νμΈ
]# svn list svn://127.0.0.1/okkks.tistory.com
branches/
tages/
trunk/
11. μ μ₯μ μμ
μμ ν μ μ₯μμ λλ ν 리λ₯Ό μμ νλ©΄ λλ€.
]# service svnserve stop
]# cd /svn
]# rm –rf okkks.tistory.com
]# ll
λ λ§μ μλ£λ₯Ό μνλ€λ©΄
μΆμ²: http://okkks.tistory.com/986 [μ΄κ±΄μμ§]
'DevOps > Git' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[GitLab] κΉλ© μ°λΆν¬(Ubuntu)μλ²μ μΈν (0) | 2023.02.04 |
---|---|
[Git] IntelliJμμ gitignore μ¬μ©νκΈ° (0) | 2023.02.04 |
[Github] IntelliJμμ Github μ°λνκΈ° (0) | 2023.02.04 |
[Github] IntelliJμμ Git Clone (0) | 2023.02.04 |
[SVN] μ€λͺ λ° λͺ λ Ήμ΄ (0) | 2017.01.18 |
μμ€ν κ³΅κ° κ°μ¬ν©λλ€. π