这次搭建的项目比较常规,前端是react写的,后端是springboot,并且由于是全栈开发,所以是在同一个项目中。接下来我演示下怎么用jenkins进行自动化发布。
1.jenkins必装插件
这里用到的是jenkinsFile主要是基于Groovy这个沙盒,有些前置插件。这里使用maven进行打包,所以需要Maven Integration plugin和Pipeline Maven Integration Plugin。Pip这个是由于后面的语法withMaven要用。
NodeJs打包前端要用到NodeJS Plugin和Pipeline: Nodes and Processes。
jenkins是部署在运维机,所以要对远端的服务器进行发布,要用到SSH Agent Plugin。
所以总共要用到这些插件:Maven Integration plugin、Pipeline Maven Integration Plugin、NodeJS Plugin、Pipeline: Nodes and Processes、SSH Agent Plugin。
2.配置工具
这里有两种方式,一种是自动安装,一种就是用你本地的配置,其实两种都没差。用本地的话,就是多配置一下目录。这里要注意的是,如果你是docker部署的jenkins并且需要给jenkins做读写权限,要给目录授权下,代码如下:
#jenkins默认就是1000:1000
chown -R 1000:1000 /opt/apache-maven-3.6.3/
其他的就简单截图。
3.配置令牌
你拉代码会涉及到git的账号密码,你发送远端服务器会涉及到服务器的密钥,这边点进去根据自己需要配置就好。
4.创建项目
创建很简单,主要就是看你jenkinsFile怎么写,我这里会提供简单参考。这里有个踩坑,EOF换行之后前面一定不能有空格。
//git仓库配置
def coding = [:]
coding.GIT_REPO_URL="xxx"
coding.CREDENTIALS_ID="xxx"
coding.GIT_BUILD_REF="xxx"
//远端服务器配置
def serverConfig = [:]
serverConfig.credentialsId="xxx"
serverConfig.ip = "xx"