使用jenkins+gogs+tomcat构建自动化部署

前言:时隔一段时间,重新回顾一下这一整套的操作,可能有错误的地方欢迎指出,共同学习。jenkins版本都是比较新的,抛弃了沉重的gitlab,采用了轻量级的gogs,对于一个1核2G的阿里云用户来说是不错的选择。

Jenkins的安装和配置

  • jenkins官方下载一个jenkin.war文件
  • 在自己的服务器上安装一个tomcat
  • 将jenkins.war放在tomcat的webapps目录下,并启动tomcat

使用jenkins+gogs+tomcat构建自动化部署

  • 访问ip:端口号/jenkins进入jenkins安装界面

使用jenkins+gogs+tomcat构建自动化部署

  • 查看密码,复制粘贴,搞定

使用jenkins+gogs+tomcat构建自动化部署

  • 接着经过等待,进入了配置阶段,当然先安装推荐插件,安装插件过程比较漫长,需要等待,但比较省事

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

  • 创建管理员(台下的观众就我一个),然后就是保存继续保存继续,看见开始使用就初始化完成了!!!

使用jenkins+gogs+tomcat构建自动化部署

  • 嗯?左上角一个老头子,管家。。。是否以后能够对话对话互动什么的(主人,你有什么新的吩咐?),不谈,我们继续,接下去就是配置一下基本要用到的插件

使用jenkins+gogs+tomcat构建自动化部署

  • 系统管理  》 管理插件 》 可选插件 (常用插件,安装jenkins的时候已经安装完毕,现在下载额外几款插件)
  1. Maven Release Plug-in
  2. Publish Over SSH
  3. Gogs
  4. Deploy to container
  • 系统管理  》 全局工具配置
  1. 配置jdk,作为一个男人什么都要长,所以这路径一定要长长长。。。
  2. 配置maven(原谅我短小了 -_-!!!)
  3. 配置git

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署


Jenkins+Gogs+tomcat部署项目

终于进入正题了,前期工作准备的差不多,如果出现意外,根据具体错误回去再细调一下。开始构建项目

像我这种充满血性的男人,项目名就一定要能突显出来。

使用jenkins+gogs+tomcat构建自动化部署

光填写这个地址是没什么用的,会报错,这时候就要有秘钥了。

使用jenkins+gogs+tomcat构建自动化部署

  • 在linux本机生成一下SSH秘钥,把id_rsa.pub这个文件中的一串东东复制一下,给我粘贴到gogs的个人配置上去

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

 

  • 把id_rsa里面的东西给我复制到jenkins中去

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

  • 填完以后就发现,不报错了。。。恭喜恭喜!!!接下来接着配置配置

使用jenkins+gogs+tomcat构建自动化部署

  • 配置完成之后,点击保存,退到项目首页,点击立即构建,就可以看见,项目正在部署,点击名字可以进入详细页,点击控制台输出,可以查看进度,如果出错,也可以在里面查看哪一步报错了。。。

使用jenkins+gogs+tomcat构建自动化部署使用jenkins+gogs+tomcat构建自动化部署

  • 到这里,如果你能看到下图所述,那么你就成功了

使用jenkins+gogs+tomcat构建自动化部署

  • 这时候你的war包就跑到上述目录里面去了

使用jenkins+gogs+tomcat构建自动化部署

  • 现在就要把war包给放到指定tomcat下运行,回到项目配置,有一个添加构建后操作
  1. WAR/EAR files 就是war包所在目录,target/*.war就可以了
  2. Context path 项目名,一般ip:端口号/项目名 来访问
  3. Containers 配置下tomcat的访问路径,tomcat的用户名密码填写,这里要去tomcat-users.xml中配置一下

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

坑:对于window和linux配置tomcat的用户名密码还大不一样,外机要访问总是会跳403错误,在tomcat-users.xml中配置全了也不行,最后在conf\Catalina\localhost目录下添加.xml文件配置,具体情况有些遗忘,可能你们并不会遇到,也许是我动了什么配置了。

  • 一切配置完毕,点击立即构建,耐心等待,jenkins会帮你把war包放到指定的tomcat的webapps下面并把项目运行起来,当你看到和上面一样success的字样表示你成功了,你可以直接在tomcat的url跟上你的项目名访问,能访问成功到这里部署已经搞定了。

使用jenkins+gogs+tomcat构建自动化部署


基于Gogs完成自动化部署

  • 前面所讲的一切,每次更改代码以后还是要手动登入jenkins并点击构建,十分麻烦,为此我们可以创建一个钩子。
  • http(s)://<你的Jenkins地址>/gogs-webhook/?job=<你的Jenkins任务名>
  • 这里采纳了https://www.cnblogs.com/stulzq/p/8629720.html中写的,给他点赞

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

使用jenkins+gogs+tomcat构建自动化部署

到这里为止,初步的自动化部署我们已经实现,当我用idea写好代码,直接push到gogs仓库的分支的时候,jenkins会帮我重新把项目热部署上去,还有一些根据指定分支提交变化之类的就留着日后探索,这只是初步的一个学习。慢慢长路。。。

                                                                                                                                                                           ----- 忽如一夜春风来,早学晚学都得学