构建环境变量设置

构建程序运行时,能够访问到一系列的变量,这些变量不声明在文件中,而是由操作系统直接传给程序的运行环境,我们叫做环境变量。

环境变量用来表示当前程序运行环境的信息,如临时文件夹位置和系统文件夹位置等。不同语言访问环境变量的方式不同,比如Shell脚本中可以直接使用 $ 符号加变量名,比如:

# 获取当前用户名
$USER

# 或者
${USER}

系统环境变量

在构建任务运行时,会有一个名为 BUILD_NUMBER 的环境变量,这个环境变量标明本次构建的IID(数字ID),此外,依据您增加的构建工具不同,也会自动设置一些构建工具所需的环境变量,诸如 JAVA_HOMEANDROID_HOMEGOPATHGOROOT 等。

提示,在编译步骤中,执行Shell命令 env,可以在构建日志中显示所有可用的环境变量。

声明环境变量

除了系统默认提供的环境变量,您还可以设置自己的环境变量,构建步骤中,所有Shell脚本中声明的变量,都会保留,并作为后续步骤的环境变量。

Shell环境变量

如上图中所示,在第二个构建步骤中执行Shell脚本,Shell脚本的第一行声明了一个变量 VERSION ,值来自于后边一条指令的输出,即读取 package.json 文件获取其中的 version 版本号,作为 VERSION 环境变量的值。

使用环境变量

系统环境变量和构建过程中生成的变量的最大意义是在后续步骤中使用,一般情况下,脉冲云所有构建步骤的所有输入框都是支持环境变量的,例如,在第三个构建步骤中,我们要将代码打包成Docker镜像:

Shell环境变量

在目标镜像的输入框中,我们指定了两条镜像地址:

maichong.io/demo/server:master-${BUILD_NUMBER}
maichong.io/demo/server:${VERSION}

第一条使用了系统环境变量 BUILD_NUMBER ,这样我们就可以标记这个Docker镜像是代码master分支的第几次构建,第二条使用了前文中Shell脚本中自定义的变量 VERSION ,用来标记产品镜像的版本号。

再比如,我们在构建成功后,执行一条构建后步骤,给Git代码仓库增加Tag:

Shell环境变量

我们将前文生成的 VERSION 变量作为标签,打到了代码提交记录上,这样我们就将构建版本和代码做了关联,方便从代码仓库中查看版本信息,也能够通过版本号,快速定位到代码仓库的指定提交记录。

results matching ""

    No results matching ""