Home IT Linux Windows Database Network Programming Server Mobile  
           
  Home \ Server \ Linux CentOS configuration SVN + SVN hook     - PostgreSQL using the system cache to improve operational efficiency (Database)

- To install Xen in Ubuntu 12.04 (Linux)

- Share Java-based multithreading file case (Programming)

- CentOS 6 Install Linux kernel source (Linux)

- C # mobile side and PC-side data exchange (Database)

- Teamviewer not start in Linux (Linux)

- Linux - use chroot command (Linux)

- Install Visual Studio Code in Ubuntu (Linux)

- Build RPM package uses Docker mirror (Linux)

- The Concept and Semantics of Java Memory Model (Programming)

- SQL Beginner Guide (Database)

- Struts2 study notes -Valuestack (value stack) and OGNL expression (Programming)

- Ubuntu 14.04 build Android 5.1 development environment and compiler (Linux)

- Linux basis: a comprehensive study pwd command (Linux)

- Installation and deployment of MariaDB under CentOS (Database)

- Java Set and List in the relationship and difference (Programming)

- Java object initialization (Programming)

- Cool Android realization SVG animation (Programming)

- Python script running in the background (Programming)

- Linux novice common commands (Linux)

 
         
  Linux CentOS configuration SVN + SVN hook
     
  Add Date : 2017-08-31      
         
       
         
  Environment Introduction:
Operating System: CentOS release 6.5 (Final) 64-bit
Network environment: Intranet

1 Configure the SVN
1.1 Install the SVN package
Use yum to install the required packages for svn
# Yum -y install subversion

1.2 Configuring the SVN
1.2.1 Create the svn library path
Create the svn library path, which provides later user file writes and reads.
# Mkdir -p / date / svn /

1.2.2 Create an SVN repository
Use a specific command to create the repository, and after the creation of the directory, the SVN configuration file will appear.
# Svnadmin create / date / svn /

1.2.3 Define the configuration file
#vim /opt/svndata/repos1/conf/svnserve.conf

[General]
Anon-access = none
Auth-access = write
Password-db = passwd # Define the configuration file for the user password
Authz-db = authz # Define the user rights profile
Realm = svn

1.2.4 User Rights Configuration
1, the creation of svn visit users
# Vim / data / svn / passwd

[Users]
Test = test Creates a user named tset with the password test

2, the allocation of user access
#vi / opt / svndata / repos1 / conf / authz

[Groups]
Admin = test
# Harry_and_sally = harry, sally
[/]
@admin = rw
[Repos1: / abc / aaa]
@admin = r

Repository directory format:
[< Repository>: / project / directory] # is the project name as the first unit. Imagine the project as a unit
@ < User group name> = < permission>
< User name> = < permission>
Among them, the box can be a number of parts of the wording:
/, Indicates the root directory and the following. The root directory is specified at svnserve startup, and we specify / opt / svndata. In this case, / means to set permissions on all repositories.
Repos1: /, said the authority to set up a repository
Repos2: / abc,, said that the repository 2 abc project set permissions
Repos2: / abc / aaa,, said the abc in the repository 2 projects aaa directory set permissions
The authority principal can be a user group, a user, or a user group, and the user group is preceded by @ and * for all users. Permissions can be w, r, wr and empty, empty means that there is no authority.
1.2.5 Starting the SVN
# Svnserve -d -r / date / svn /

-d means running in daemon mode (running in background)
-r / date / svn Specifies that the root directory is / date / svn
1.3 Configuring the Hook
1.3.1 Configuring the Version Detection Tool
Their use of python to write a document automatically detects the version of the tools inside the library. The code is as follows:
# Vim /date/svn/hooks/gouzi.py
#! / Usr / bin / env python
If __name __ == '__ main__':
  Importsys, string
  Try:
    Logfile = open ( '/ tmp / python.out', 'a +')
  Logfile.write ( "this is python hook")
  Logfile.close ()
  Except:
    Exit (1)
  Sys.exit (0)

This tool must be placed in the hooks directory in the library directory.
1.3.2 Configuring the UPDATE Script
1, the first manual checkout on the client
# Svn checkout svn: //192.168.21.28/repos

2, edit the automatic synchronization script
# Vim svn_update.sh

The code is as follows
 #! / Bin / bash
/ Usr / bin / svn update / linshi / repos --username test --password test
If [$? == 0]
  Then
        Echo "ok" >> /tmp/z.out
Fi

Where: / linshi / for the storage directory (depending on the environment may be)
    --username test User name is test
    --password test The password is test
3, modify the permissions
# Chmod + x /root/svn_update.sh

4, configure the scheduled tasks
Because the script can not achieve automatic execution, so configure the scheduled task settings once per minute.
# Crontab -e
* * * * /root/svn_update.sh> / dev / null 2> & 1
     
         
       
         
  More:      
 
- How to configure security management services under Linux (Linux)
- Install the Red Hat Container Development Kit on OSX (Server)
- How to configure AWStats in Ubuntu Server (Server)
- Using Oracle for Oracle GoldenGate to achieve a one-way data synchronization (Database)
- CentOS How quickly customize kernel binary RPM package (Linux)
- Axel install plug under CentOS 5/6 acceleration yum downloads (Linux)
- How to configure SNMPv3 on Ubuntu, CentOS and Cisco systems (Linux)
- Build Python3.4 + PyQt5.3.2 + Eric 6.0 development platform Ubuntu 14.04 (Server)
- awk pattern matching (Programming)
- Linux Apache server configure to protect system security (Linux)
- Linux System Getting Started Learning: Linux how to install 7zip (Linux)
- Sqoop data export import command (Database)
- Modifying the system registry protection server security (Linux)
- Detailed usage history command (Linux)
- FileZilla 3.10.1.1 install on Ubuntu 14.10 (Linux)
- CentOS 6.4 (64bit) install Python 2.7.5 (Linux)
- How to Start a Linux application running in the background using the terminal mode (Linux)
- Ubuntu install perfectly handsome terminal Guake 0.8.1 (Linux)
- Binary tree traversal recursive and non-recursive (cyclic) traversal achieve (Programming)
- Linux use logs to troubleshoot (Linux)
     
           
     
  CopyRight 2002-2016 newfreesoft.com, All Rights Reserved.