CentOS7-Jenkins-Git-Tomcat-集成部署

CentOS 上 Jenkins-Git-Tmocat 集成部署

配置信息:

  • CentOS:7.2
  • Jenkins:2.79
  • Java Version:1.8
  • Maven:3.5
  • Git:1.8

安装 jenkins

因使用 yum 安装 jenkins ,故更新版本库

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

安装命令

yum install jenkins

若系统直接使用 yum 安装 Java 此时 JAVA_HOME 路径不用修改,可以直接启动 Jenkins,否则,应该编辑添加 java_home 路径:

vim /etc/init.d/jenkins

查看 JAVA_HOME 路径

echo $JAVA_HOME

修改内容如下

在运行过程中检查防火墙端口启动状况

systemctl status jenkins
systemctl start jenkins
systemctl start firewalld
firewall-cmd --zone=public --permanent --add-port=18080/tcp
firewall-cmd --reload
firewall-cmd --list-port

运行成功后访问:

查看本地初始化密码:

cat /var/lib/jenkins/secrets/initialAdminPassword

选择插件默认点击左侧,

然后稍等就会出现下面界面

设置个人账号,然后点击下一步

最后回到经典的页面:

Jenkins 部署 maven 项目 到 Tomcat

插件安装

  1. 首先 Jenkins 安装两个关键插件
    1. git plugin 插件(用于从 git 拉取最新的代码)
    2. publish over ssh 插件(用于上传打包好的项目到远程 Linux)
  2. 进入系统管理 –> 插件管理 –> 可选插件,在搜索框中搜索,点击安装即可。

项目构建

  1. 新建项目

  2. 选择 构建一个 Maven 项目

    可以我进来一看,哎,咋没这个选项呢(说好的呢),问了一下,狗爹,原来少安装 Maven 插件:Maven Integration plugin

    二话不说,点击直接安装,然后又回去默默的点击了新建项目

    看见没,乖乖的出来了。

  3. 默默写上我收藏的Git,设计模式地址

    填写 URL 地址

    发现底下红线报错了,定眼一看,问题是没有配置 Git ,

    然后我回手就是一个 yum install git,服不服

    git --version

    然后平息

  4. 发现又有一处报错,没有配置 maven 选项

    点击其中的 the tool configuration,缺少 maven 进行配置

  5. 在构建后操作中,我们选择 deploy war/jar to a container

  1. 编译过程遇见错误:

    主要原因:jenkins 系统的 jdk 是使用自带的,那个不靠谱,后来自己又手动自己设置了一遍

  2. 关于 Tomcat 配置

    1. 创建用户给用户权限,文件目录在 apache-tomcat/conf/tomcat-users.xml

      <role rolename="manager-gui"/>
      <role rolename="admin-gui" />
      <role rolename="manager-script" />
      <role rolename="admin-script" />
      <role rolename="manager-status" />
      <user username="tomcat" password="123456" roles="manager-gui,admin-gui, admin-script, manager-script, manager-status"/>
    2. 解决外网访问问题, 文件路径 apache-tomcat/webapps/manager/META-INF/context.xml

      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
               allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

    3. 然后继续发布,这下不会错了

    4. 我立马启动我准备已久的 Tomcat,验证一波,发现 war 包是放上去了,但是我正一访问,我滴哥,还是没有反应

    5. 心急火燎,原来是没有 Tomcat 重启,自然看不见咯

  3. Jenkins 部署 Tomcat 执行脚本重启(自以为),实则 maven 中的配置文件 pom 格式不对,一定要注意格式,不能瞎胡删除,要不错了都不知道

  4. 最后模拟一遍流程

    1. 首先修改代码

    2. 进行 Git 提交

      上传成功

  1. 进行 jenkins 打包

    打包时状态

  2. 访问网页操作

  3. 出现乱码就是 pom 配置,有点问题,添加配置依赖

  4. 重新打包依赖流程走一遍之后,访问网页,然而没有解决

  1. 打包Maven编译错误:编码 GBK 的不可映射字符

    • 在项目 pom.xml 文件中添加配置

      <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    • 在 project/build/plugins/ 下的编译插件声明

      <encoding>UTF-8</encoding>

文章作者: HoldDie
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 HoldDie !
评论
 上一篇
Java中描述类的各种名词 Java中描述类的各种名词
Java 中 VO、PO、DO、DTO、BO、QO、DAO、POJO、TO 概念 PO(Persistant Object)持久对象 O/R 映射的时候出现的概念,如果没有 O/R 映射,没有这个概念存在了 通常对应数据模型(数据库),本身
2017-09-29
下一篇 
ArchData ArchData
ArchData 技术峰会 神经网络和函数式编程杨博:ThoughtWorks大数据团队首席咨询师 什么是神经网络 人工智能的底层模型是“神经网络”(neural network),许多复杂的应用(模式识别、自动控制)和高级模型(深度学习
2017-09-23
  目录