- 执行用户:默认使用的是
jenkins
用户,需要注意在执行 shell 的时候将使用这个用户的在执行,就包括了 maven 的 repository 的地址、或者是 bash_profile 中的环境变量等等,都是用的是 jenkins 用户的。如果要修改 jenkins 启动使用的用户名,则修改/etc/sysconfig/jenkins
文件中的JENKINS_USER
的值为使用的用户名。UBUNTU 中使用 apt 安装的配置文件在`/etc/default/jenkins` - 关闭日志:如果不关闭日志的话,jenkins 很快会榨干你操作系统的磁盘空间 、具体操作是在系统管理-日志管理中将日志的级别设置为比较高的级别
- 全局工具配置中建议人工配置路径而不要使用自动安装
- 执行 shell 脚本时第一行写
#!/bin/bash -l
这样可以使用用户的登录后的环境变量 - $(pwd) 在使用 ssh 远程执行时需要注意,是远程服务器 shell 的当前路径、而不是 jenkins 服务器的上的路径
- 传输大文件时,尽量使用 rsync 上传,可以只上传文件中变化部分的内容,减少部署时间
- shell 中执行下一个命令时,判断上一个命令是正常结束的状态而不是出现了异常
#!/bin/bash -l mvn clean package -D maven.test.skip=true if [ $? -ne '0' ]; then echo 'MAVEN 编译项目失败,停止部署'; exit 1; fi echo '开始增量上传文件...'; rsync -vvzrtog -e 'ssh -p 2202' --progress out/*.jar user@servername:/path if [ $? -ne '0' ]; then echo '文件传输失败,停止部署'; exit 1; fi echo '文件上传成功!'
- jenkins 任务执行中启动的进程会在任务完成后退出网上说在 SHELL 脚本中赋值 BUILD_ID 可以防止退出,但是感觉还是没有起到作用。后来找到一种办法是在 jenkins 的启动 JAVA 参数中增加
-Dhudson.util.ProcessTree.disable=true
这个就可以,对于 centos ,使用 yum 安装的 jenkins 的配置文件在/etc/sysconfig/jenkins
了解 工作生活心情记忆 的更多信息
订阅后即可通过电子邮件收到最新文章。