vlambda博客
学习文章列表

Jenkins常用技巧及问题处理(1)

技巧1:合理使用内置变量

比如进入工作空间cd ${WORKSPACE}

还有备份时可以加构建序号${BUILD_NUMBER},当然也可以考虑加时间戳`date +%Y%m%d-%H%M`

 

技巧2Shell脚本添加BUILD_ID=DONTKILLME防止衍生进程被杀掉

Jenkinsshell正常执行,但服务(多为tomcat/java进程)未能正常启动(Shell脚本本身是可以正常执行的),这是因为Jenkins会在构建完成后使用processTreeKiller杀掉了所有衍生进程,而且这是Jenkins的默认行为。Shell脚本添加BUILD_ID=DONTKILLME防止衍生进程被杀掉

参考:

https://blog.csdn.net/syd505/article/details/102896800

https://www.cnblogs.com/wangjunjiehome/p/9212167.html

https://blog.csdn.net/liuxiaoming1109/article/details/89145949

https://blog.csdn.net/zhengxu189891/article/details/18710155

 

技巧3:流水线脚本里用到的credentialsId在凭据里找

credentialsId其实就是Gitlab等账号对应的ID,在配置pipeline时可能要用到。

 

问题1:使用Gradle-Wrapper构建时报java.io.IOException:error=13, Permission denied

这是没有勾选Make gradlew executable

因为gradlew命令默认是没有执行权限的

 

问题2:使用Gradle-Wrapper构建时报java.io.IOException:Server returned HTTP response code: 403 for URL: http://services.gradle.org/distributions/gradle-XX-bin.zip

具体需要修改代码目录下2个文件:

build.gradlegradle/wrapper/gradle-wrapper.properties

里的distributionUrlhttphttps,然后重新拉取代码进行构建。