jenkins文档
要注意官方中文文档比英文文档少了一些内容,并且很多内容不一致
jenkins 远程api
https://www.jenkins.io/doc/book/using/remote-access-api/
官方文档很简单,具体的远程api需要在自己部署的jenkins上查看
注意 每个页面下点击REST API都会出现不一样的api!!!!!!
1.使用Maven构建Java应用程序
中文版:https://www.jenkins.io/zh/doc/tutorials/build-a-java-app-with-maven/
英文版:https://www.jenkins.io/doc/tutorials/build-a-java-app-with-maven/
注意事项
1.docker安装jenkins 需要使用jenkinsci/blueocean,不能使用普通的jenkins docker,否则在jenkins里面即使安装了docker插件,使用docker还会提示docker: not found
参考命令(中文版的):
1 |
|
2.初始化jenkins之后,还需要在jenkins中安装docker插件才可以
3.在jenkins中使用指定版本的maven docker,比如jdk17的maven.可以在docker仓库中搜索maven,选择jdk17的
例如: maven:3.8.5-openjdk-17
4.写的shell脚本在流水线中无法执行,提示无权限,看一下脚本文件是否是无执行权限的,如果是,赋予脚本执行权限即可
5.注意不同agent的workspace工作区是不一样的,参考链接:https://stackoverflow.com/questions/44259039/how-to-re-use-previously-created-workspace-across-stages
6.在jenkins中,新建项目的时候,如果Jenkinsfile是从远程仓库获取的,那么轻量级检出建议打开.如果不打开构建的时候会全量拉一次仓库代码(这个时候其实是要去仓库获取Jenkinsfile,即使拉了全量代码,后面执行pipeline的时候还是会拉全量代码的, 因此轻量级检出建议打开)
7.一个Jenkinsfile文件参考
推荐:(各阶段没有加options { skipDefaultCheckout() } 这是因为在一个工作空间内经过测试只会拉一次代码)
1 |
|
不推荐:以下方式会产生两个相同的workspace,虽然路径一样:
1 |
|