热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot项目部署交付

有人会问,作为一个测试,主要负责QCQA工作,为何要去学devops相关的知识?其实工作中在需要实践devops时ÿ

有人会问,作为一个测试,主要负责QC/QA工作,为何要去学devops相关的知识?其实工作中在需要实践devops时,就已经将开发,测试,运维的工作边界打破了,开发做些原来测试和运维才会做的事情,测试做些原来开发和运维才会做的事情,运维做些开发和测试做的事情,工作流程上大家相互交叉,在Devops理念中,不会将开发测试和运维的职责界限得像传统项目那样严格。什么是devops?个人理解所谓Devops,即是在工作中,一些列工具所组成的工具链的衔接合作,这些工具包括开发工具,测试工具,运维工具等等,林林总总的结合在一起,只为一个共同目标:提高效率,解放人力去做更重要的事情!这个理念不也是自动化测试的宗旨吗?所以,QA在Devops相关工作中,是必不可少的一环,也是必须要理解Devops的一环,再者,测试学会一些集成部署技能,也总能在工作中给自己带来一些刮目相看的目光吧。

下面demo介绍下工作中的持续部署CD中最基本的项目编译打包及部署工作如何实施,后续再利用jenkins实践持续交付。

一、部署本地

1.下载项目

        git clone GitHub - princeqjzh/JeeSite4

2.下载好项目后用intelli J IDE open该项目(此演示项目为Spring Boot架构项目,

        需配置:(mysql+java+maven)


项目打开后的配置文件

 项目构成:

        - 多模块组合项目

        - 基础公共引擎模块:common

        - 核心系统模块:core

        - 模板示例模块:template

        - 模块父节点:parent

        - 入口模块:root

        - web模块:web

        - Deploy:部署代码

        a.mysql部署:docker部署

                1.利用workbench客户端连接数据库,创建jeesite数据库:create databases `jeesite`;

                2.数据库初始化数据导入

                        1)打开JeeSite4/web/src/main/resources/config/application.yml,

                        配置数据库的IP,port,用户名,密码

                        2)进入项目路径JeeSite4/web/bin

                        3)运行初始化数据脚本程序init-data.sh/init-data.bat

        b.java开发环境安装

                CentOS:yum install java-1.8.0-openjdk* -y

                Ubantu:apt-get install oracle-java8-installer

               - 验证环境是否安装成功

                java -version

        c.Maven环境安装

         下载地址:Maven – Download Apache Maven

         下载后解压,将maven根路径加入系统环境变量

         path变量中加入:%M2_HOME%\bin

         验证maven是否配置成功 mvn -version

        配置maven下载源

 同时,添加仓库

ctrl+shift+A将root下的pom.xml加入maven view中

 4.IDE里maven编译、打包项目

        - 在maven view中选中JeeSite Root下的Life中的clean+install,然后单击 【运行】按钮。

        - 或者进入项目root目录,命令行执行mvn clean install编译打包。

        - 编译打包成功后,会再web-target目录中生成web.war包 

5.部署运行项目 

        - 在maven view中打开jeesite Web-->plugins-->springboot-->双击spring boot:run

 然后项目就部署好并启动起来了

公网可访问即代表你的项目部署成功了!


推荐阅读
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了C函数ispunct()的用法及示例代码。ispunct()函数用于检查传递的字符是否是标点符号,如果是标点符号则返回非零值,否则返回零。示例代码演示了如何使用ispunct()函数来判断字符是否为标点符号。 ... [详细]
  • 本文介绍了一个程序,可以输出1000内能被3整除且个位数为6的所有整数。程序使用了循环和条件判断语句来筛选符合条件的整数,并将其输出。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • PHP反射API的功能和用途详解
    本文详细介绍了PHP反射API的功能和用途,包括动态获取信息和调用对象方法的功能,以及自动加载插件、生成文档、扩充PHP语言等用途。通过反射API,可以获取类的元数据,创建类的实例,调用方法,传递参数,动态调用类的静态方法等。PHP反射API是一种内建的OOP技术扩展,通过使用Reflection、ReflectionClass和ReflectionMethod等类,可以帮助我们分析其他类、接口、方法、属性和扩展。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
author-avatar
李桂平2402851397
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有