WoJ*_*WoJ 2 gitlab gitlab-ci gitlab-ci-runner
我将 gitlab.com 与我自己的运行程序一起使用(它们在我的服务器上执行)。
当在 shell 上下文中执行scriptin 中的条目时,文件在哪里创建?.gitlab-ci.yml例如,下面的示例在 shell 运行器上运行
script:
- date > hello.txt
Run Code Online (Sandbox Code Playgroud)
我应该去哪里寻找hello.txt?
这个问题的具体原因是为了清理目的:我想删除我的跑步者创建并填充临时数据的旧目录。
这里有很多选项,所以我只是添加,这取决于。
如果你有一个标准的 Linux shell 运行器,没有任何额外的配置并按照 GitLab 建议的方式安装,你将拥有一个类似于以下内容的路径:
/home/gitlab-runner/builds/$RUNNER_TOKEN_KEY/$CONCURRENT_ID/$NAMESPACE/$PROJECT_NAME
Run Code Online (Sandbox Code Playgroud)
可以使用运行程序中的builds_dir选项更改此目录config.toml。
另一点要添加的是,在脚本中,您还可以回显位置文件,并且还可以指定在运行器上保存文件的位置,例如:
script:
- echo ${CI_PROJECT_DIR}
- date > ${CI_PROJECT_DIR}/hello.txt
Run Code Online (Sandbox Code Playgroud)
有关更多选项,请参阅GitLab 的预定义环境变量。
默认情况下,所有作业都在此目录中${CI_PROJECT_DIR},因此当您开始一个script部分时,您通常可以安全地假设您位于此目录中,而无需执行cd ${CI_PROJECT_DIR}例如。
您也很可能希望所有工作都在此完成,${CI_PROJECT_DIR}因为 GitLab 运行程序还会在新作业开始时处理清理工作。默认情况下,运行程序git clean -ffdx在签出存储库后执行 a,因此在本例中,将hello.txt在继续作业之前删除文件。有关更多信息,请参阅git clean 标志。
如果 shell 运行程序共享相同的构建目录,请注意处理并发性。
哈!
| 归档时间: |
|
| 查看次数: |
9241 次 |
| 最近记录: |