有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

CODING 持续集成兼容的 Jenkins 版本?

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

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

使用 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