118 lines
3.8 KiB
Markdown
Raw Normal View History

2023-06-29 11:55:02 +08:00
---
title: Perforce Helix Core搭建
date: 2022-12-21 14:51:55
excerpt:
tags: Perforce
rating: ⭐
---
# Perforce Docker
可以使用这个容器:
https://hub.docker.com/r/sourcegraph/helix-p4d
但这个容器是2020年构建的我这里重新调整了一下并且手动构建成功具体可以参考下文。
## DockerFile构建
大致步骤如下:
1. 下载**blueroseslol/helix-docker**仓库的所有文件。
2. 构建DockerFile。
```bash
cd /home/perforce/helix-docker/helix-p4d/ && \
docker build -f /home/perforce/helix-docker/helix-p4d/Dockerfile -t helix-p4d:2023.5 .
```
2023-07-03 11:49:02 +08:00
docker build --file ./helix-p4d/Dockerfile --tag helix-p4d:2023.7 .
2023-06-29 11:55:02 +08:00
## 使用
```shell
docker run -d --name helix-p4d\
-p 1666:1666 \
-v /home/perforce/p4:/p4 \
helix-p4d:2023.5
```
```bash
docker run -d \
-p 1666:1666 \
-v /home/perforce/p4:/p4 \
sourcegraph/helix-p4d:2020.2
```
### Github文档
```shell
docker run --rm \
--publish 1666:1666 \
sourcegraph/helix-p4d:2020.2
```
默认端口`:1666`, 默认用户名为 `admin`, 默认密码: `pass12349ers`。以下是所有配置的默认值。
```shell
NAME=perforce-server
P4HOME=/p4
P4NAME=master
P4TCP=1666
P4PORT=1666
P4USER=admin
P4PASSWD=pass12349ers
P4CASE=-C0
P4CHARSET=utf8
JNL_PREFIX=perforce-server
```
可以使用`--env` 覆盖上述环境变量:
```shell
docker run --rm \
--publish 1666:1666 \
--env P4USER=amy \
--env P4PASSWD=securepassword \
sourcegraph/helix-p4d:2020.2
```
请注意尽管服务器在重启后仍能存活即数据被保留但如果你在初始启动后即镜像的第一次运行在选项被硬编码为Perforce Helix核心服务器自身配置时改变选项它可能会中断。要启动一个长期运行的生产容器记得要把数据目录`P4HOME`)容器,把`--rm`标志换成`d`(分离):
```shell
docker run -d \
--publish 1666:1666 \
--env P4PASSWD=securepassword \
--volume ~/.helix-p4d-home:/p4 \
sourcegraph/helix-p4d:2020.2
```
### 推送镜像到Dockerhub
```text
docker tag 9f45f31246ac blueroses/perforce-helix-p4d:2023.5
docker push blueroses/perforce-helix-p4d:2023.5
```
# UE部分操作
- https://docs.unrealengine.com/5.1/en-US/using-perforce-as-source-control-for-unreal-engine/
- https://zhuanlan.zhihu.com/p/414193101?utm_id=0
- [UE4管理多重项目-WiseeEngineering](https://zhuanlan.zhihu.com/p/364346565)
- [UnrealEnigne源码构建&Perforce&UnrealGameSync开发版本控制基础部署](https://zhuanlan.zhihu.com/p/362276094)
- [打通UE4美术资源版本控制关节](https://zhuanlan.zhihu.com/p/261692804)
编码使用UTF8-no bom
- 注册源码引擎到EpicGames
经过上面的步骤,源码引擎已经构建成功,但是在对项目就行选择引擎版本的时候,发现并没有这个版本 。这是因为构建的引擎没有注册到EpicGames中找到EpicGames安装目录下的注册器。复制到源码工程并且运行即可。
```text
Launcher\Engine\Binaries\Win64
```
# Perforce
- https://help.perforce.com/helix-core/quickstart-unreal/Content/quickstart/game-home-quickstart.html
- https://www.perforce.com/manuals/p4v/Content/P4V/Home-p4v.html
- https://www.perforce.com/manuals/p4guide/Content/P4Guide/Home-p4guide.html
- https://www.perforce.com/manuals/p4sag/Content/P4SAG/Home-p4sag.html
- https://www.perforce.com/manuals/p4admin/Content/P4Admin/Home-p4admin.html
## 相关概念
### Workspace
Workspace可以理解为depot到本地的一个映射对应本地的一个目录。
新建Workspace在p4admin中depot查看在服务器中存放的所有Ddepot仓库
开发的过程中可以有多个Workspace例如一个用来开发一个用来更新验证保证提交没有错误但一般只推荐有一个Workspace
###