zoukankan      html  css  js  c++  java
  • Jenkins实现CI/CD自动构建和发布步骤

    使用Jenkins实现CI/CD.这个虽然是非常简单和基础的功能,但是我用了很长时间才摸着石头过了这趟水.

    本文使用的技术为:

    Jenkins+Git+Maven+Tomcat

    简单来说:

    通过Jenkins拉取git仓库代码,使用远程命令将maven编译测试好的war包发送(发布)到远程Tomcat服务器上.

    具体步骤:

    假设Jenkins已安装,远程Tomcat也已安装.(具体安装步骤老生常谈了,不再废话,不知道的可以自行搜索我的博客,都有记录的)

    我这里是Jenkins/Git/Maven在同一台服务器上,所以下面的内容,需要根据你的具体情况做微调

    1.Jenkins服务器安装好Git和Maven

    git安装步骤: 直接yum install git -y

    Maven安装步骤:https://www.cnblogs.com/biaopei/p/11104130.html

    获取git和maven的命令所在位置

    [root@130-node1 SayHi]# which git
    /usr/bin/git
    [root@130-node1 SayHi]# which mvn
    /usr/local/maven/bin/mvn
    [root@130-node1 SayHi]# 

    2.进入Jenkins配置git和maven

    配置git

     配置maven

    3.Git服务器上新建Maven Web项目

    我这里是在Jenkins服务器上


    mvn archetype:generate -DgroupId=com.companyname.automobile -DartifactId=SayHi -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false -DarchetypeCatalog=internal   #SayHi是项目名,可自定义,报错的话可以多执行几次 cd SayHi/ mvn clean package
    git init  #我们需要将这个项目初始化为代码库
    git add ./*
    git commit -m "add first code"

    我们来看一下Maven Web项目结构

    [root@130-node1 SayHi]# tree
    .
    |-- pom.xml
    |-- src
    |   `-- main
    |       |-- resources
    |       `-- webapp
    |           |-- index.jsp
    |           `-- WEB-INF
    |               `-- web.xml
    `-- target
        |-- classes
        |-- maven-archiver
        |   `-- pom.properties
        |-- SayHi
        |   |-- index.jsp
        |   |-- META-INF
        |   `-- WEB-INF
        |       |-- classes
        |       `-- web.xml
        `-- SayHi.war
    
    12 directories, 7 files
    [root@130-node1 SayHi]# cat src/main/webapp/index.jsp 
    <html>
    <body>
    <h2>Hello World!</h2>
    </body>
    </html>
    [root@130-node1 SayHi]# 

    我们的Web项目页面内容就是index.jsp.如果CI/CD成功的话,我们可以在远程Tomcat服务器上访问到这个页面

    4.在Jenkins新增项目任务

    选择自由项目即可.

    在代码管理这里.我没有使用凭证,直接通过ssh-copy-id免密登陆git服务器实现的.通过帐号密码的话,一直会报错,搞不懂....

     配置自动发送到远程tomcat的webapp下

     5.开始构建该项目

    进入该项目,点击左侧的Build Now

    这是我的第三次构建的日志.可以看到,构建成功的提示

     6.确认是否正常发布到远程Tomcat服务器

    以下是我的Tomcat目录,可以看到有一个SayHi.war并且自动进行解压

    [root@129-node2 webapps]# pwd
    /root/apache-tomcat-9.0.34/webapps
    [root@129-node2 webapps]# ls
    docs  examples  host-manager  manager  ROOT  SayHi  SayHi.war
    [root@129-node2 webapps]# 

    尝试访问远程Tomcat服务器服务

    搞定!!!

    Jenkins上(即Git仓库)的Maven Web项目成功编译测试并发布到远程Tomcat服务器上

  • 相关阅读:
    Elasticsearch Query DSL 整理总结(三)—— Match Phrase Query 和 Match Phrase Prefix Query
    Elasticsearch Query DSL 整理总结(二)—— 要搞懂 Match Query,看这篇就够了
    Elasticsearch Query DSL 整理总结(一)—— Query DSL 概要,MatchAllQuery,全文查询简述
    Elasticsearch Java Rest Client API 整理总结 (三)——Building Queries
    Elasticsearch date 类型详解
    python 历险记(五)— python 中的模块
    python 历险记(四)— python 中常用的 json 操作
    python 历险记(三)— python 的常用文件操作
    Elasticsearch Java Rest Client API 整理总结 (二) —— SearchAPI
    Elasticsearch Java Rest Client API 整理总结 (一)——Document API
  • 原文地址:https://www.cnblogs.com/biaopei/p/12677339.html
Copyright © 2011-2022 走看看