我有一个脚本存储库,其中有几个脚本,其中我有一个 build.sh 文件,我想在 GitLab CI 运行时运行该文件。我可以简单地将其添加到脚本部分下的 GitLab CI 文件中吗?我假设它将运行脚本文件。
有没有办法可以将变量从我的 GitLab CI 文件/环境添加并传递到 hello.sh 文件?
我的项目:
rootdir
- folder1
- scripts
- hello.sh
hello.sh
:
#!/usr/bin/env bash
echo "Hello World!"
GitLab CI:
image: docker:latest
stages:
- build
build:
stage: build
script:
- ./scripts/hello.sh
是的,两者都有可能。要在 GitLab CI 中使用
hello.sh
脚本并直接从 .gitlab-ci.yml
传递变量,只需在 variables
部分下定义变量(下面我包含了 GREETING 变量作为示例)。然后,当您运行脚本时,这些变量将自动可用。
首先确保您的
hello.sh
脚本可执行。您可以通过在存储库根目录中本地运行 chmod +x ./scripts/hello.sh
来实现这一点。或者,您也可以在运行脚本之前将其作为在 Gitlab CI 文件的脚本部分下运行的第一个命令。
然后修改您的
.gitlab-ci.yml
以包含变量并像这样运行脚本:
image: docker:latest
stages:
- build
variables:
GREETING: "Welcome to GitLab CI/CD!"
build:
stage: build
script:
- ./scripts/hello.sh
对于您是否可以访问
hello.sh
中的变量的问题,您可以使用 GREETING
访问 $GREETING
变量:
#!/usr/bin/env bash
echo "Hello World! $GREETING"