CentOS上部署Jenkins&Nginx

来源:互联网 发布:飞秋2013 for mac 编辑:程序博客网 时间:2024/04/30 01:57

  • 整个流程
  • CentOS安装
  • Java Jenkins
  • Linux
  • Nginx安装
  • Jenkins插件
  • Maven配置
  • Git
  • 安装Tomcat
  • Nginx设置反向代理
  • 新建Maven Project

整个流程

  • 这里写图片描述

CentOS安装

  • 首先我们要配置环境,现在是在CentOS下进行配置。
  • 我们进入到VMware虚拟机中进行新的虚拟机的配置。这里我们选择“典型->稍后安装操作系统->Linux->然后配置虚拟机的名字和位置就好了->然后一直点完成即可”。
  • 然后在这个系统中的编辑虚拟机设置中选择“CD/DVD”,然后选择使用ISO镜像文件,然后进行选择即可。
  • 然后启动虚拟机即可,然后就会进行系统的安装了。
  • 这里想说,直接在虚拟机中输入命令不太方便,命令不能直接复制,而且不方便,这里装一个Xshell即可解决问题。
  • 一开始输入ifconfig/ping的时候可能会无法连接到网络,所以进行一下网络配置。
  • 参考:【CentOS 网络配置1】 【2】
  • 其中ifcfg-eth0这个与你电脑上的可能不一样,不过反正都是ifcfg开头,找一下就可以了。
  • 然后用ifconfig就可以知道你虚拟机的ip地址了,这个ip就相当于是localhost一样。

Java & Jenkins

  • 安装教程见:【1】 和 【2】
  • 不过这样安装Java还是有问题的,它命令行安装的是java-1.8.0-openjdk,我们需要安装Oracle的JDK,就是官网提供的那个。
  • 卸载内置JDK&之前安装的教程1 或者教程2 卸载之前的JDK教程3
  • 这里我是用rpm包下载的。 教程
  • 我java是安装在:/usr/java/jdk1.8.151/
  • 查看JAVA_HOME命令:echo $JAVA_HOME
  • 启动服务 : service jenkins start
  • 复制 jenkins 自动生成的密码 :
  • cat /var/lib/jenkins/secrets/initialAdminPassword
  • Jenkins的相关配置
  • Jenkins的安装目录: /var/lib/jenkins/
  • Jenkins的配置文件地址: /etc/sysconfig/jenkins

Linux

  • linux有好多东西要补,连目录结构都没有搞清楚。。。
  • Linux目录树

Nginx安装

  • Nginx安装就是一个大坑。。。。
  • Nginx安装配置教程
  • 安装命令还挺简单的,就是一个对于你软件安装的位置要注意。
  • 这里写图片描述
  • 就是说文件位置要注意,下载的位置要和命令行中的对应。(我一开始文件位置没注意放所以一直配不对。。)
  • 一般来说操作都建在/usr/local下面,不要去/root中进行。

Jenkins插件

  1. 因为我们要让Jenkins与git进行交互,所以这里我们需要一个git插件。(git plugin)
  2. 因为我们要用maven进行编译打包,所以要安装一个maven integration plugin。(maven配置其他在centOS中也要配置以及系统管理中的global tool configuration)
  3. deploy to container plugin最好也装一下,虽然好像并没有用到。(它允许你部署war包到一个container中当完成一个成功的构建之后)。

Maven配置

  • Maven配置也搞了我好久。
  • 首先要在CentOS中下载Maven,安装包之类的我是下载在/usr/local/src下的。
  • 这里写图片描述
  • 但是maven是不能装在这下面的。maven要装在opt目录下,因为jenkins会去这个目录下进行寻找 要不然会有错误。(正确见下面)
  • 这里写图片描述
  • /etc/profile配置参考
  • 这里写图片描述
  • CentOS下Maven配置参考
  • 接下来是要进行在jenkins中maven的相关配置。进入Global Tool Configuration。
  • 这里写图片描述
  • 这里写图片描述

Git

  • git plugin在jenkins要进行安装。并且也要在jenkins中的global configuration中进行配置。
  • CentOS 7 git安装教程

安装Tomcat

  • 因为nginx不能够处理动态请求,所以还需要装一个tomcat。
  • 参考教程1 参考教程2
  • 个人感觉还是第一个教程好一点。
  • 然后tomcat启动的命令是: ./startup.sh(sh是脚本文件)
  • 启动后长成这样:
  • 这里写图片描述
  • 最后打开http://192.168.32.135:8080/ (默认端口是8080)
  • 成功界面

Nginx设置反向代理

  • 正反向代理
  • 然后就要配置一下centOS中的nginx的配置文件:在nginx的conf文件夹下的nginx.conf。
  • 反向代理本地Tomcat
  • 这里写图片描述
  • listen就是说明nginx监听80端口;server_name则是域名,因为我们这里是本地调试,所以是localhost;proxy_pass则是代理的地址,也就是反向代理的意义。
  • 就是说这个server代理8080端口,监听80端口(80是http默认端口,访问其他端口就要显式带上比如www.a.com:81 );8080端口则是tomcat监听的;
  • 监听的意思是:服务器监听客户访问这个端口。

新建Maven Project

  • 接下来就只要新建一个maven项目,进行相关的配置。
  • 这里写图片描述
  • 这里写图片描述
  • jenkins运行maven文件之后自动会生成一个war包,至于放在哪里可以在console output下去看。
  • 然后我们这里在post steps中进行将war包复制到tomcat下面,然后启动tomcat和nginx服务(当然,最好先关闭上一次启动的。)
  • 这里写图片描述
  • 然后module_name和instance_name就是对应之前在jenkins中的command。
  • 但是一开始在执行cp命令的时候遇到了无法复制的问题,说是权限不够。是因为tomcat的webapp是在/root目录下面的,所以需要赋予它权限。
  • 修改一下jenkins的配置文件:/etc/sysconfig/jenkins 把jenkins_user改成root即可。
  • 这里写图片描述
  • 最后就可以看到成功编译的效果了。
  • 这里写图片描述
  • 这样就相当于是完成了jenkins自动打包war包,然后进行部署到服务器。

最后还是想感谢一下我的实习指导老师,真的是太强了= =好多bug都是他帮我找到的= =什么时候我也能这么强就好了= =

原创粉丝点击