首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >realpath()不显示realpath GitLab ci runner

realpath()不显示realpath GitLab ci runner
EN

Stack Overflow用户
提问于 2019-07-23 14:13:16
回答 2查看 170关注 0票数 1

代码存储在/var/www/abc -- "CodePath“中。

在运行gitlab (runner)时,代码通过/home/gitlab-runner/builds/4v8bC1n9/0/_gitlabgroup_/_gitprojectname_/abc -- "RealPath“调用。

我正在使用本地运行程序和shell执行程序。

当我在我的php代码中使用realpath()函数时,它仍然在使用gitlab运行程序时显示"CodePath“,而不是"RealPath”。

如何将"RealPath“集成到我的代码中,或者使用reconfig GitLab来代替"CodePath”?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-26 14:59:21

由于madflow提到了变量,我设法找出了以下内容:

运行程序特定的配置文件存在,可以配置为在此描述

我需要做这些事:

[runners.custom_build_dir]中指定启用config.toml节

代码语言:javascript
复制
[[runners]]
  builds_dir = "/var/www/abc"
[runners.custom_build_dir]
  enabled = true

(布尔,而不是引号)在yml中指定一个变量

代码语言:javascript
复制
variables:
  GIT_CLONE_PATH: $CI_BUILDS_DIR/

在os级别上,为所需的dir设置了一些权限设置,我在本地机器上进行了快速和肮脏的777操作。

票数 0
EN

Stack Overflow用户

发布于 2019-07-25 12:35:42

运行器cli选项记录在这里:https://docs.gitlab.com/runner/executors/shell.html#overview

运行作业和将源克隆到的路径在环境变量中可用:

CI_PROJECT_DIR

克隆存储库和运行作业的完整路径。如果设置了GitLab Runner builds_dir参数,则该变量将相对于builds_dir的值设置。有关更多信息,请参见GitLab运行程序的高级配置。

你没有说明你如何使用realpath(path).

虽然必须提供路径,但值可以是空字符串。在这种情况下,该值被解释为当前目录。

也许你在某个地方硬编码了chdir('/var/www/abc');

在调用realpath()之前执行chdir(getenv('CI_PROJECT_DIR'));时,它应该使用CI目录。假设您使用的是没有参数的realpath

另外:也许您可以对当前目录进行一些更改,并使用内置的常量之一:https://www.php.net/manual/en/language.constants.predefined.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57166128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档