在自托管运行器机器上运行 Github 操作时,如何在我的 Github 操作 .yaml 脚本中访问已在机器上设置的现有自定义环境变量?
我已经设置了这些变量并多次重新启动了运行器虚拟机,但是在我的脚本中使用 $VAR 语法无法访问它们。
在自托管运行器机器上运行 Github 操作时,如何在我的 Github 操作 .yaml 脚本中访问已在机器上设置的现有自定义环境变量?
我已经设置了这些变量并多次重新启动了运行器虚拟机,但是在我的脚本中使用 $VAR 语法无法访问它们。
如果您只想为一次运行export
设置一个变量,您可以在运行命令之前在 Github 存储库上配置自托管运行器时添加一条./run.sh
命令:
带有TEST
变量的示例(linux):
# Create the runner and start the configuration experience
$ ./config.sh --url https://github.com/owner/repo --token ABCDEFG123456
# Add new variable
$ export TEST="MY_VALUE"
# Last step, run it!
$ ./run.sh
这样,您将能够通过 using 访问该变量$TEST
,并且它也会在运行时出现env
:
job:
runs-on: self-hosted
steps:
- run: env
- run: echo $VAR
如果要永久设置变量,可以etc/profile.d/<filename>.sh
按照上面@frennky 的建议将文件添加到 中,但您还必须更新 shell 以使其每次都知道新的环境变量,然后再运行./run.sh
命令:
带有HTTP_PROXY
变量的示例(linux):
# Create the runner and start the configuration experience
$ ./config.sh --url https://github.com/owner/repo --token ABCDEFG123456
# Create new profile http_proxy.sh file
$ sudo touch /etc/profile.d/http_proxy.sh
# Update the http_proxy.sh file
$ sudo vi /etc/profile.d/http_proxy.sh
# Add manually new line in the http_proxy.sh file
$ export HTTP_PROXY=http://my.proxy:8080
# Save the changes (:wq)
# Update the shell
$ bash
# Last step, run it!
$ ./run.sh
这样你也可以通过 using 访问变量,$HTTP_PROXY
运行时也会出现env
,同上。
job:
runs-on: self-hosted
steps:
- run: env
- run: echo $HTTP_PROXY
- run: |
cd $HOME
pwd
cd ../..
cat etc/profile.d/http_proxy.sh
将etc/profile.d/<filename>.sh
持续存在,但请记住,每次要启动运行程序时,在执行命令之前都必须更新 shell 。./run.sh
至少它是如何与我用于此测试的 EC2 实例一起工作的。