퍼포스 서버 p4d 설치 및 실행 (Perforce Server install)

2023. 3. 28. 23:28코딩/Perfoce

퍼포스 서버 설치 및 실행 (Perforce Server install)

 

Download Helix Core (P4D) | Perforce

Helix Core (P4D) is version control for accelerated development. It securely versions all digital content – even large files – in a single repository. And it scales for large teams, handles thousands of daily transactions, and delivers files quickly to

www.perforce.com

 

실행하고자 하는 폴더에서 bin 폴더 생성 후, bin 폴더에 p4d.exe 파일 넣기

 

 

 

 

 

 

리눅스 퍼포스 서버 p4d 실행 방법

[ -d bin ] || mkdir bin
[ -d var ] || mkdir var

if [ ! -f bin/p4d ]; then
    wget -O bin/p4d ftp://ftp.perforce.com/perforce/r20.1/bin.linux26x86_64/p4d 
    chmod 700 bin/p4d
fi

if [ ! -d data ]; then
    mkdir data
    ./cli_p4d.sh -r data -L var/log -J var/journal -xi $*
fi

./cli_p4d.sh -r data -L var/log -J var/journal $*

 

리눅스에서 퍼포스(P4D) 서버를 실행하기 위한 스크립트에 대한 설명입니다. 한 줄씩 설명드리겠습니다.

 

  1. [ -d bin ] || mkdir bin
    • 이 명령은 bin 디렉터리가 존재하는지 확인합니다. 만약 없다면 mkdir bin 명령을 통해 bin 디렉터리를 생성합니다.
  2. [ -d var ] || mkdir var
    • var 디렉터리의 존재 여부를 확인하고, 없을 경우 var 디렉터리를 생성합니다.
  3. if [ ! -f bin/p4d ]; then
    • bin/p4d 파일의 존재 여부를 확인합니다. 파일이 없다면 이하 명령을 수행합니다.
    • wget -O bin/p4d ftp://ftp.perforce.com/perforce/r20.1/bin.linux26x86_64/p4d
      • Perforce 서버에서 P4D 실행 파일을 다운로드하여 bin/p4d에 저장합니다.
    • chmod 700 bin/p4d
      • 다운로드한 bin/p4d 파일에 실행 권한을 부여합니다. 700 권한은 파일 소유자에게 읽기, 쓰기, 실행 권한을 모두 부여합니다.
  4. if [ ! -d data ]; then
    • data 디렉터리의 존재 여부를 확인합니다. 없다면 다음 명령을 실행합니다.
    • mkdir data
      • data 디렉터리를 생성합니다.
    • ./cli_p4d.sh -r data -L var/log -J var/journal -xi $*
      • Perforce 데이터베이스를 초기화하는 스크립트를 실행합니다. 여기서 -r data는 데이터베이스 루트를 지정, -L var/log는 로그 파일 위치를 지정, -J var/journal는 저널 파일 위치를 지정합니다. -xi 옵션은 데이터베이스를 초기화하라는 명령입니다. $*는 스크립트에 전달된 모든 추가 인수를 포함합니다.
  5. ./cli_p4d.sh -r data -L var/log -J var/journal $*
    • Perforce 서버를 실행하는 스크립트입니다. 위에서 설명한 옵션들과 마찬가지로, 데이터베이스 루트, 로그 파일 위치, 저널 파일 위치를 지정합니다. $*는 이 스크립트에 전달된 모든 추가 인수를 포함합니다.

이 스크립트는 필요한 디렉터리를 생성하고, P4D 실행 파일을 설치한 뒤, 데이터베이스를 초기화하고 서버를 실행합니다.

 

 

 

 

 

 

 


 

윈도우 퍼포스 서버 p4d 실행 방법

@echo off
IF NOT EXIST %~dp0bin           mkdir %~dp0bin
IF NOT EXIST %~dp0var           mkdir %~dp0var
IF NOT EXIST %~dp0data          mkdir %~dp0data

IF NOT EXIST %~dp0bin\p4d.exe   powershell Invoke-WebRequest ftp://ftp.perforce.com/perforce/r16.2/bin.ntx64/p4d.exe -OutFile %~dp0bin\p4d.exe
IF NOT EXIST %~dp0data\db.*     %~dp0bin\p4d.exe -r %~dp0data -L %~dp0var\log -J %~dp0var\journal -p 1666 -xi

%~dp0bin\p4d.exe -r %~dp0data -L %~dp0var\log -J %~dp0var\journal -p 1666

 

해당 커맨드 실행

 

 

윈도우 환경에서 퍼포스(P4D) 서버를 실행하기 위한 배치 파일에 대해 한 줄씩 설명해 드리겠습니다.

 

 

  1. @echo off
    • 배치 파일을 실행할 때 명령어 출력을 비활성화하여, 사용자에게 명령어가 보이지 않게 합니다.
  2. IF NOT EXIST %~dp0bin mkdir %~dp0bin
    • 배치 파일이 위치한 디렉터리(%~dp0)에 bin 폴더가 존재하지 않을 경우, 해당 위치에 bin 디렉터리를 생성합니다.
  3. IF NOT EXIST %~dp0var mkdir %~dp0var
    • 배치 파일이 위치한 디렉터리에 var 폴더가 없다면 var 디렉터리를 생성합니다.
  4. IF NOT EXIST %~dp0data mkdir %~dp0data
    • 배치 파일이 위치한 디렉터리에 data 폴더가 없다면 data 디렉터리를 생성합니다.
  5. IF NOT EXIST %~dp0bin\p4d.exe powershell Invoke-WebRequest ftp://ftp.perforce.com/perforce/r16.2/bin.ntx64/p4d.exe -OutFile %~dp0bin\p4d.exe
    • bin 디렉터리에 p4d.exe 파일이 존재하지 않을 경우, PowerShell을 사용하여 Perforce 웹 서버에서 p4d.exe 파일을 다운로드하고 bin 폴더 안에 저장합니다.
  6. IF NOT EXIST %~dp0data\db.* %~dp0bin\p4d.exe -r %~dp0data -L %~dp0var\log -J %~dp0var\journal -p 1666 -xi
    • data 디렉터리에 데이터베이스 파일(db.*)이 존재하지 않을 경우, p4d.exe를 실행하여 데이터베이스를 초기화합니다. 여기서 -r %~dp0data는 데이터베이스 루트를 지정하고, -L %~dp0var\log는 로그 파일 위치를, -J %~dp0var\journal은 저널 파일 위치를 지정합니다. -p 1666은 Perforce 서버의 포트 번호를 지정하고, -xi는 데이터베이스 초기화 명령을 의미합니다.
  7. %~dp0bin\p4d.exe -r %~dp0data -L %~dp0var\log -J %~dp0var\journal -p 1666
    • Perforce 서버를 실행합니다. 위에서 설명한 옵션들과 마찬가지로, 데이터베이스 루트, 로그 파일 위치, 저널 파일 위치를 지정하고 포트 번호 1666에서 서비스를 시작합니다.

이 스크립트는 필요한 디렉터리를 생성하고, 실행 파일을 설치한 후, 데이터베이스를 초기화하고 Perforce 서버를 실행하는 과정을 자동화합니다.