Docker 找不到通过“在脚本之前运行”属性中的脚本来设置作业或多个作业的变量的方法

Docker 找不到通过“在脚本之前运行”属性中的脚本来设置作业或多个作业的变量的方法,docker,continuous-integration,gitlab-ci,gitlab-ci-runner,Docker,Continuous Integration,Gitlab Ci,Gitlab Ci Runner,我想将.sh文件中的值显示到.gitlab-ci.yml中,但找不到解决方案。 PS:我不想在.yml文件中使用环境变量 My versions.sh文件如下所示: export PROJECT_VERSION = 2.1.25 My.gitlab-ci.yml如下所示: before_script: - ./versions.sh my_build_job: - script: - 'echo "PROJECT_VERSION = $(PROJECT_VERSION)"'

我想将.sh文件中的值显示到.gitlab-ci.yml中,但找不到解决方案。
PS:我不想在.yml文件中使用环境变量

My versions.sh文件如下所示:

export PROJECT_VERSION = 2.1.25
My.gitlab-ci.yml如下所示:

before_script:
  - ./versions.sh

my_build_job:
  - script:
    - 'echo "PROJECT_VERSION = $(PROJECT_VERSION)"'

我知道您不想在
.yml
文件中使用环境变量,但version.sh脚本定义了一个变量

要显示它,语法应为:

- 'echo "PROJECT_VERSION = ${PROJECT_VERSION}"'
这是
${…}
,而不是在子shell中执行命令的
$(…)

但是,正如中所讨论的,这是行不通的

您需要找到脚本的源代码:


@IbrahimMAATKI OK:我发现这个问题正在讨论这个问题,我已经包括了一个解决方法。
my_build_job:
  - script:
    - source ./versions.sh
    - 'echo "PROJECT_VERSION = $(PROJECT_VERSION)"'