什么是Jenkins
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
我的理解是可以监听git上面的源码库,根据规则定时查询,生成jar包或war包,然后在本地部署或者远程部署,实现持续迭代
安装
1.环境
CentOS7,Java8,git,jenkins下载路径
2.落地Jenkins
打开终端进入到下载目录.
运行命令 java -jar jenkins.war
,默认端口8080
打开浏览器进入链接 http://localhost:8080
.
按照说明完成安装.
###注意哦,找个好一点的服务器,不然等待真的等到奔溃!!
等待中。。。。
3.配置环境
manage Jenkins > Global Tool Configuration
配置JDK以及Git还有Maven ###Maven的话,根据个人需求
4.预备Maven项目需要的环境
安装Maven插件
一开始是没有Maven项目选项的!
去下载Maven插件 :Maven Integration
Manage Jenkins > Manage Plugins
然后安心等待.....
安装Gitee插件
本人的源码库存在Gitee中,所以需要配置,各位视情况而定
就它了!下面的步骤都需要先安装这个插件
设置Gitee私钥
这是Jenkins与Gitee对接的秘钥:生成地址
然后创建新凭据
Gitee系统配置
Manage Jenkins > 系统配置(不知道咋回事,原本英文界面变成中文界面)
Jenkins落地
选择之前配置好的Gitee配置
源码管理
那里很明显的BUG,先不用管,去创建Credentials
这个Credentials不是之前配置的Gitee私钥
而是你的Gitee的用户密码
请选择好类型,输入你Gitee的账户密码,id和描述先不管了,然后添加就好啦
异常报错解决!
然后构建
这时候还会有BUG在前面等着你哈哈哈
控制台输出ERROR信息:找不到对应的POM文件,这是因为我源码库有多个项目,导致的问题
修改下项目中POM文件的路径,最好是绝对路径
修改后再次构建,第一次等待下载Jar包会花很多时间.....
构建成功,这时候拥有一个jar包或者war包
本地部署项目
本地部署的话,写个脚本就行了,每次更新之后调用即可
$ touch local_app_start.sh // 创建脚本
$ chmod u+x local_app_start.sh // 为脚本赋予执行权限:
复制代码
远程部署项目
安装插件
Publish Over SSH:连接远程服务器 Deploy to container:把打包的应用发布到远程服务器
系统配置
在系统设置里配置Publish over SSH
Remote Directory是你要发布到远程服务器的文件地址
项目配置
Source files需要传输的文件,这是相对路径,提供模糊匹配。
Remove Prefix 删除文件的前缀文件夹
Remote direcotry 生成的文件夹地址,基于系统配置下的地址生成
Exec commang 发布过去后要执行的命令,这是执行脚本
提示一下,在写脚本的时候,启动项目命令的路径,要写绝对路径!我就是在这犯了错误,感谢上海的兄弟远程帮我解决了问题!
远程自动化部署成功!