본문 바로가기

볼봇의 코딩 생활/언리얼한 엔진

[UE4] Perforce 소스 컨트롤 구축

몇달 전, SVN 을 사용하여 언리얼 프로젝트를 소스 컨트롤 서버에 올리고 다른 사용자들과 (솔직히 혼자인데)

공유 하는 방법을 알아보았다.

 

이번에는 언리얼 엔진에서 공식적으로 인정(?) 하고 있는 퍼포스 소스 컨트롤에 대해 알아보겠다.

 

 

https://docs.unrealengine.com/ko/Engine/Basics/SourceControl/Perforce/index.html

 

Perforce 소스 컨트롤 사용

팀 내 다른 사람들과의 애셋 공유를 위한 Perforce 구성 방법입니다.

docs.unrealengine.com

 

다만, 언리얼 도큐먼트에서는 Perforce 서버를 구축 하는 방법에 대해서는 설명하지 않고 있고,

Perforce 서버 구축을 해본 결과 별로 어렵지 않으므로 이번 포스팅에서 함께 다룰 생각이다.

 

Perforce 서버 구축하기

필자는 Centos 8 서버를 사용하고 있고, Vultr 에서 호스팅 되고 있다.

환경이 다른 독자는 적절히 명령어를 바꿔 수행하길 바란다.

 

 

https://www.perforce.com/downloads

 

Download Software | Perforce

Helix Core stores and manages access to versioned files and artifacts, supports large-scale CI/CD workflows, and tracks user operations with fine-grained permissions, audit logs, and multi-factor authentication.

www.perforce.com

위 사이트에 접속해서 몇 가지 프로그램을 받아줘야 한다.

p4d server 는 Perforce 서버가 구축될 서버에 설치해줘야 하고, p4 admin 은 클라이언트 (개발자 컴퓨터) 에

설치 해 줘야 한다.

 

Helix Core 에 체크하면 쉽게 찾기 가능

 

P4Admin 설치는 매우 쉬우므로 생략하고, p4d server 설치 방법만 이번 포스팅에서 다루겠다.

 

 

 

패키지 키를 추가 해준다.

rpm --import https://package.perforce.com/perforce.pubkey

 

 

레포지토리를 추가해준다.

vi /etc/yum.repos.d/perforce.repo
[perforce]
name=Perforce
baseurl=http://package.perforce.com/yum/rhel/{version}/x86_64
enabled=1
gpgcheck=1

{version} 부분에는 알맞는 숫자를 넣어줘야 한다.

RHEL 6 버전에서는 '6'RHEL 7 버전에서는 '7' 을 적어준다.

필자는 CentOS 8 이므로, 8을 적어줬다.

 

 

 

 

추가했으면, 아래 명령어로 퍼포스를 설치한다.

yum install helix-p4d

 

 

 

다른 운영체제를 사용하고 있거나 자세한 문서는 아래 링크를 참고하면 도움이 될 것이다.

 

https://www.perforce.com/perforce/doc.current/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html

 

Installation

Installation This topic assumes you have met the Prerequisites. The Helix server is divided into multiple packages, so you can install the components you need. The component package names are: helix-p4d helix-p4dctl helix-proxy helix-broker helix-cli The h

www.perforce.com

 

P4D 설정하기

Perforce 서버 설정을 진행해야 한다.

아래 명령어를 실행해준다.

sudo /opt/perforce/sbin/configure-helix-p4d.sh

 

 

 

퍼포스 설정에서 아래와 같은 옵션을 입력 받는다.

필자는 이 정도로 설정을 이해해두었고, 자세한 내용은 아래 링크를 참조하기 바란다.

Perforce Service Name 서비스 시작, 중지에서 사용할 서비스 이름
Perforce Server root 데이터가 저장될 경로
Perforce Server unicode-mode 유니코드 모드 사용 할까요?
Perforce Server case-sensitive 대소문자 비교를 할까요? (끄는 편이 좋다)
Perforce Server address 퍼포스 서버가 사용 할 포트
Perforce super-user login 슈퍼 사용자 아이디
Perforce super-user password 슈퍼 사용자 비밀번호

https://www.perforce.com/perforce/doc.current/manuals/p4sag/Content/P4SAG/install.linux.packages.configure.html

 

Post-installation configuration

Post-installation configuration After the helix-p4d package has been installed, additional configuration is required to create a Helix server. Perform the following steps: Use the configure-helix-p4d.sh script to configure a Perforce service. Note The conf

www.perforce.com

적당히 초록색 글씨가 나오면 잘 된 것이다.

 

 

 

 

1666 포트로 퍼포스 서버가 돌고 있는걸 볼 수 있다.

서버 상황에 따라서 1666 포트를 열어줘야 할 수 있다. 방화벽 열어주는 작업은 독자에게 맡긴다.

 

 

 

사용자 추가 및 작업 공간 설정

Perforce 서버에 로그인 하고 소스 코드를 올리고 받기 위해서는 사용자가 필요하다.

초기 셋팅에는 super 계정 말고 없으므로, 새로운 사용자를 추가해 줄 필요가 있다.

 

 

P4Admin 은 서버 관리를 할 때 사용하는 툴 이고, P4V는 일반 유저로 로그인 하여 체크인/아웃 서브밋 등의 

작업을 할 때 사용된다.

 

 

 

 

Server 부분에 서버 주소를 입력하고, User 부분에 서버를 설치 할 때 입력했던 유저를 입력한다.

접속하면 Password 입력을 요구하는데 서버 설정 때 입력했던 비밀번호를 써주면 된다.

 

 

새로운 사용자를 추가해준다.

필자는 이미 추가를 해뒀으므로 캡쳐하지 않았는데, 어려운 작업이 아니므로 생략한다.

 

 

 

이번에는 P4V 를 실행한다.

우리가 만든 프로젝트를 올리기 위해서는 로컬 PC에 "Workspace" 가 있어야 한다.

 

 

 

Workspace 생성 한다. Workspace root 폴더만 본인이 접근하기 쉬운 경로로 설정해주면 좋다.

작업 공간이 생성되었다면, OK 를 눌러서 접속할 수 있다.

 

 

 

프로젝트를 올리고 받기

이제 작업 영역에 프로젝트를 올려야 한다.

작업중이던 프로젝트 파일을 위에서 설정했던 Workspace root 폴더에 넣는다.

 

프로젝트를 작업 영역에 올렸다.

이제 P4V의 Workspace 탭에 들어가면 같은 폴더가 보일것 이다.

 

 

 

 

 

프로젝트 파일에서 업로드 할 파일들을 선택하고, "Add" 버튼을 눌러 파일을 추적 하도록 한다.

default -> new으로 바꾸고, 커밋 메세지를 작성 한 후 "Submit" 버튼을 누르면 서버에

프로젝트가 올라간다.

 

 

 

 

 

Depot 탭에 프로젝트가 올라간 것을 확인 할 수 있다.

마지막으로, 언리얼 엔진에서 소스컨트롤에 연결해보겠다.

 

 

서버 주소를 입력하고, 사용자명은 P4Admin 에서 추가했던 이름을 사용 한다.

워크스페이스 이름이 잘 기억나지 않는다면 (대게 Perforce 에서 자동으로 써 준걸 쓰는데, 워크스페이스 추가 할 때 수정이 가능했다) 바로 아래 드롭다운을 클릭하면 선택 할 수 있다.

 

세팅 수락을 클릭하면 소스컨트롤 연결이 되고 설정이 마쳐진다.

 

 

마치며

언리얼 엔진에서 게임 개발을 해 오면서 Git, SVN, Perofrce (플라스틱 SCM 은 안써봄) 등 여러 소스컨트롤

프로그램을 사용해봤지만, 확실히 퍼포스가 성능이나 편리성 면에서 우수하다는건 사실이다.

 

다만 한글로 된 튜토리얼 같은것이 잘 없어서 입문 할 때 어려움이 있다는 점 인데

이번에 작성한 튜토리얼로 어느정도 갈증이 해소되었으면 한다.

 

다음 포스팅에서는 Perforce 를 사용하여 소스코드를 Checkout, Submit 하는 방법에 대해서

알아보도록 하겠다.