系统:Ubuntu 18.04的WSL2示例
我正在使用gitlab-runner exec shell <job>
本地测试小的gitlab-ci
作业,但是将源文件签入<working-directory>/builds/<short-token>/<concurrent-id>/<namespace>/<project-name>
的默认行为导致了我的IDE停止识别父git repo为有效的问题,这很烦人。
我的解决方案是将构建和缓存文件的默认位置移动到工作目录之外。我按照文档修改了最初为空的config.toml
,以添加以下定义:
[[runners]]
name = "shell executor runner"
executor = "shell"
shell = "sh"
builds_dir = "/home/myuser/dev/gitlab-runner-files/builds"
cache_dir = "/home/myuser/dev/gitlab-runner-files/cache"
然而,当我再次尝试运行gitlab-runner exec shell my-job
时,它显示了这个初始输出,表明它没有使用我配置的运行器,因此它也没有使用我的目录覆盖。
Runtime platform arch=amd64 os=linux pid=26105 revision=dcfb4b66 version=15.10.1
WARNING: You most probably have uncommitted changes.
WARNING: These changes will not be tested.
Running with gitlab-runner 15.10.1 (dcfb4b66)
Preparing the "shell" executor
Using Shell (bash) executor...
executor not supported job=1 project=0 referee=metrics
Preparing environment
Running on PC-01099...
Getting source from Git repository
Fetching changes...
Initialized empty Git repository in /home/myuser/dev/my-app/builds/0/project-0/.git/
我如何让它使用我在config.toml
中配置的运行器,而不是这里默认的运行器?
1条答案
按热度按时间twh00eeo1#
命令
gitlab-runner exec shell my-job
使用shell
执行器触发作业。它不加载高级配置文件config.toml
。支持advanced configuration的命令具有选项-c, --config
和/或支持CONFIG_FILE
环境参数。然而,您可以使用
exec
命令并尝试使用config.toml
配置执行您想要的操作,只需为runnerexec shell
命令提供相应的选项和环境参数,比较:配置完成后,切换到环境参数(也称为变量):
然后在集成开发环境(IDE)中配置运行程序任务,提供您选择的环境。