在jenkins根据不通的变量发布执行不同的命令,主要用到其选择参数
1、安装插件
2、配置
选项参数
名称:deploy_env
选项(不同的环境写不同的变量,一行代表一个):
deploy
rollback
......
git参数(采用分支构建)
名称:release_branch
参数类型:Branch
字符参数(禁止其杀死衍生进程设置)
名称:BUILD_ID
默认值:dontKillMe
编译的时候有时会用到:
clean install -Dmaven.test.skip=true #跳过测试版本,这个不是绝对的,看需求
脚本写的格式:
#!/bin/sh
#在jenkins中添加
script_dir=/scripts
echo $deploy_env
case $deploy_env in
deploy)
echo "deploy: $deploy_env"
${script_dir}/deploy.sh
;;
rollback)
echo "rollback: $deploy_env"
${script_dir}/rollback.sh
;;
*)
exit
;;
esac
3、构建
4、在编译的时候可以显示哪个环境(有没有都可以)
## 插件管理地址:http://updates.jenkins-ci.org/download/plugins/
#这个插件名叫:build-name-setter.hpi
#${BUILD_NUMBER}-$deploy_env
扩展
jenkins 的 publish over ssh 配置
1、首先在 系统管理 --> 全局工具配置 配置以下参数:
说明:
Passphrase:SSH的密码 使用用户名/密码登录时为用户名的密码
Path to key:SSH私钥的文件路径,可以是绝对路径,也可以是相对$JENKINS_HOME的相对路径
Key:私钥导出后的文本内容
如果"Key"和"Path to key"都设置,则"Key"的优先级较高,私钥的密码是"Passphrase"中设置的内容。
Name:SSH节点配置的名称
Hostname:通过SSH连接到的机器的主机名或IP
Username:SSH服务使用的用户名,使用key进行连接时为key指定的用户名
Remote Derictory:运程机器上真实存在的目录,并且"Username"指定的用户要有访问此目录的权限,插件将把文件传送到此目录下。
2、在任务的 “构建–>增加构建步骤"里选择"Send files or execute commands over SSH”