CODING DevOps 持续集成相关

目前,CODING 持续集成提供的公共构建节点使用 Jenkins 2.293 版本。CODING 目前已经支持了凭据管理,我们建议用户使用更安全的凭据来管理密钥。如需了解如何使用凭据。

相关产品
CODING DevOps 产品页,含版本规格、价格与购买入口。

一、单引号和双引号用法差异是什么?

使用 CODING 持续集成时经常需要在 Jenkinsfile 内拼接字符串或使用环境变量作为参数,Jenkinsfile 中的单引号和双引号在使用时,会有些许差异,以下演示常用的 echo 与 sh 两个命令的差异。

pipeline { agent any environment { MY_ENV = 'this is my env' } stages { stage('Test') { steps { script { def MY_ENV = 'define in script' echo "${env.MY_ENV}" // 输出内容为 this is my env echo "\\${env.MY_ENV}" // 输出内容为 ${env.MY_ENV} echo "${MY_ENV}" // 输出内容为 define in script echo '${MY_ENV}' // 输出内容为 ${MY_ENV} sh 'echo ${MY_ENV}' // 输出内容为 this is my env sh "echo ${MY_ENV}" // 输出内容为 define in script sh "echo ${env.MY_ENV}" // 输出内容为 this is my env } } } }}

·echo 在使用单引号时,并不会解析里面的 $ 符号,而是直接输出原文;在使用双引号时,会打印出环境变量里的 MY_ENV。

·sh 在使用单引号时,将原文当作我们平时在终端里 sh 的命令一样执行,所以可以打印出环境变量里的 MY_ENV。

二、持续集成的配置来源区别是什么?

在创建构建计划时选择使用 代码仓库中的 Jenkinsfile 与 静态配置的 Jenkinsfile 有以下区别:

·选择使用代码仓库中的 Jenkinsfile 后,该文件将存储至代码仓库中。修改 Jenkinsfile 意味着需在代码仓库中提交修改记录,若修改持续集成的触发条件,还可以自动触发集成任务。

·使用静态配置的 Jenkinsfile 后,该文件将不会存储在代码仓库中,修改 Jenkinsfile 不会更新代码仓库内容,执行构建时将统一使用静态配置,保障构建流程的一致性。

三、如何查看工作空间目录?

在持续集成的部署流程中添加执行 Shell 脚本步骤,并在其中添加 pwd 命令。持续集成运行后将输出工作空间目录。

四、如何自定义环境变量?

详细说明请参见自定义变量。

五、远程 SSH 执行命令时环境变量不生效怎么办?

由于在使用构建机连接远程 SSH 时使用了非交互非登录式连接,因此无法引用远程机器的 /etc/profile、~/.bashrc 等文件配置中的环境变量。你可以参见以下示例,使用 export 命令再设置变量且用 && 符号连续输入命令。

export PATH=/opt/jdk1.8.0_281/bin:$PATH && java -version

赞 (0)
上一篇 4天前
下一篇 4天前