使用jenkins+gogs+tomcat构建自动化部署
前言:时隔一段时间,重新回顾一下这一整套的操作,可能有错误的地方欢迎指出,共同学习。jenkins版本都是比较新的,抛弃了沉重的gitlab,采用了轻量级的gogs,对于一个1核2G的阿里云用户来说是不错的选择。
Jenkins的安装和配置
- 去jenkins官方下载一个jenkin.war文件
- 在自己的服务器上安装一个tomcat
- 将jenkins.war放在tomcat的webapps目录下,并启动tomcat
- 访问ip:端口号/jenkins进入jenkins安装界面
- 查看密码,复制粘贴,搞定
- 接着经过等待,进入了配置阶段,当然先安装推荐插件,安装插件过程比较漫长,需要等待,但比较省事
- 创建管理员(台下的观众就我一个),然后就是保存继续保存继续,看见开始使用就初始化完成了!!!
- 嗯?左上角一个老头子,管家。。。是否以后能够对话对话互动什么的(主人,你有什么新的吩咐?),不谈,我们继续,接下去就是配置一下基本要用到的插件
- 系统管理 》 管理插件 》 可选插件 (常用插件,安装jenkins的时候已经安装完毕,现在下载额外几款插件)
- 系统管理 》 全局工具配置
- 配置jdk,作为一个男人什么都要长,所以这路径一定要长长长。。。
- 配置maven(原谅我短小了 -_-!!!)
- 配置git
Jenkins+Gogs+tomcat部署项目
终于进入正题了,前期工作准备的差不多,如果出现意外,根据具体错误回去再细调一下。开始构建项目
像我这种充满血性的男人,项目名就一定要能突显出来。
光填写这个地址是没什么用的,会报错,这时候就要有秘钥了。
- 在linux本机生成一下SSH秘钥,把id_rsa.pub这个文件中的一串东东复制一下,给我粘贴到gogs的个人配置上去
- 把id_rsa里面的东西给我复制到jenkins中去
- 填完以后就发现,不报错了。。。恭喜恭喜!!!接下来接着配置配置
- 配置完成之后,点击保存,退到项目首页,点击立即构建,就可以看见,项目正在部署,点击名字可以进入详细页,点击控制台输出,可以查看进度,如果出错,也可以在里面查看哪一步报错了。。。
- 到这里,如果你能看到下图所述,那么你就成功了
- 这时候你的war包就跑到上述目录里面去了
- 现在就要把war包给放到指定tomcat下运行,回到项目配置,有一个添加构建后操作
- WAR/EAR files 就是war包所在目录,target/*.war就可以了
- Context path 项目名,一般ip:端口号/项目名 来访问
- Containers 配置下tomcat的访问路径,tomcat的用户名密码填写,这里要去tomcat-users.xml中配置一下
坑:对于window和linux配置tomcat的用户名密码还大不一样,外机要访问总是会跳403错误,在tomcat-users.xml中配置全了也不行,最后在conf\Catalina\localhost目录下添加.xml文件配置,具体情况有些遗忘,可能你们并不会遇到,也许是我动了什么配置了。
- 一切配置完毕,点击立即构建,耐心等待,jenkins会帮你把war包放到指定的tomcat的webapps下面并把项目运行起来,当你看到和上面一样success的字样表示你成功了,你可以直接在tomcat的url跟上你的项目名访问,能访问成功到这里部署已经搞定了。
基于Gogs完成自动化部署
- 前面所讲的一切,每次更改代码以后还是要手动登入jenkins并点击构建,十分麻烦,为此我们可以创建一个钩子。
- http(s)://<你的Jenkins地址>/gogs-webhook/?job=<你的Jenkins任务名>
- 这里采纳了https://www.cnblogs.com/stulzq/p/8629720.html中写的,给他点赞
到这里为止,初步的自动化部署我们已经实现,当我用idea写好代码,直接push到gogs仓库的分支的时候,jenkins会帮我重新把项目热部署上去,还有一些根据指定分支提交变化之类的就留着日后探索,这只是初步的一个学习。慢慢长路。。。
----- 忽如一夜春风来,早学晚学都得学