145 lines
4.3 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/ && \
2024-05-06 16:50:58 +08:00
docker build -f /home/perforce/helix-docker/helix-p4d/Dockerfile -t helix-p4d:2024.5 .
2023-06-29 11:55:02 +08:00
```
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 \
2024-05-06 16:50:58 +08:00
helix-p4d:2024.5
2023-06-29 11:55:02 +08:00
```
```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
2024-05-06 16:50:58 +08:00
登录
```bash
docker login
# Github
docker login ghcr.io -u 378100977@qq.com -p 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
```
推送
```bash
docker tag 5572f8b12de1 blueroses/perforce-helix-p4d:2024.5
docker push blueroses/perforce-helix-p4d:2024.5
# 登录github
docker push ghcr.io/blueroses/perforce-helix-p4d:2024.5
2023-06-29 11:55:02 +08:00
```
# 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)
2024-05-06 16:50:58 +08:00
- [UE5+Perforce+阿里云ECS版本控制搭建流程与工作流程](https://zhuanlan.zhihu.com/p/640743305)
2023-06-29 11:55:02 +08:00
2024-05-06 16:50:58 +08:00
PS. 编码使用UTF8-no bom
2023-06-29 11:55:02 +08:00
2024-05-06 16:50:58 +08:00
## 注册源码引擎到EpicGames
2023-06-29 11:55:02 +08:00
经过上面的步骤,源码引擎已经构建成功,但是在对项目就行选择引擎版本的时候,发现并没有这个版本 。这是因为构建的引擎没有注册到EpicGames中找到EpicGames安装目录下的注册器。复制到源码工程并且运行即可。
```text
2024-05-06 16:50:58 +08:00
Launcher\Engine\Binaries\Win64\UnrealVersionSelector.exe
2023-06-29 11:55:02 +08:00
```
# 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/p4sag/Content/P4SAG/Home-p4sag.html
2024-05-06 16:50:58 +08:00
## P4Admin
- 用户
- 用户组
- 目录权限
- 仓库
## Typemap
typemap 的设置能够在 Perforce 中控制文件的只读和可写的形式。 然后要做这件事情需要管理员先在命令行cmd下设置 P4 的环境变量。
2023-06-29 11:55:02 +08:00
## 相关概念
### Workspace
Workspace可以理解为depot到本地的一个映射对应本地的一个目录。
新建Workspace在p4admin中depot查看在服务器中存放的所有Ddepot仓库
开发的过程中可以有多个Workspace例如一个用来开发一个用来更新验证保证提交没有错误但一般只推荐有一个Workspace
2024-05-06 16:50:58 +08:00
# ASoul P4设计
仓库:
1. 导播台。
2. 源文件。
分支:
1. 开发分支
2. 稳定分支