SpringBoot项目搭建

作者: 汪呜汪 | 来源:发表于2018-01-26 12:48 被阅读86次

    引言

      这是笔者第一次使用Spring Boot创建Java Web后台服务,所以会将我从头到尾完成这个项目的过程记在
    这里。期间肯定会遇到很多的坑,我都会把问题描述和我如何解决的也记在这里。如果读者发现我做的有哪
    些不合理的地方,希望在下面给我留言,给一些建议~谢谢大家!

    注意,下文中笔者踩到的坑会用引用的方式包起来。

    项目搭建基本流程

    • Github创建项目

    • 使用Intellij创建Spring boot项目

    • 添加持续集成配置文件(笔者这里使用的是travispivotal

    • TDD开发。。。

    1. 持续集成环境搭建(CI)

      在项目开发过程中,相信大家都需要不停的测试和部署代码到生产环境中。对于自动化测试,各个编程语言都有了各自的自动化测试框架,所以大家都在编码工作完成后手动运行本地测试。测试通过后再将整个工程部署到云服务器上。

      上述码农的工作日常是每个码农都要面对的,可以看到有很多重复性的工作,比如:运行相同的测试命令、使用相同的命令部署到云端。码农追求的应该是消除重复!所以持续集成和部署就应运而生。

      笔者是先登录到这个网站后进行自由探索,再一点一点的看文档学习如何使用它的,下面是笔者使用travis搭建CI环境的过程:


    使用Github账户登录到Travis网站中,点击右上角的Sign in with Github登录:

    image

    登陆后可以看到网站给了很贴心的三步走指示:

    1. 打开你在Github仓库中的某个仓库的开关。

    2. 添加 .travis.yml 配置文件到你的仓库中。

    3. 通过git push来触发一个构建。

    image

    关于如何编写.travis.yml文件,一定要仔细看travis官网中的文档,不同的编程语言对应的配置文件书写是不同的,一定注意。

    下面是我的Java Spring工程的.travis.yml配置文件:

    language: java
    sudo: true
    jdk:
    - openjdk8
    before_install:
    - chmod +x ./mvnw
    script:
    -"./mvnw test -B"
    

    需要额外注意的是,上述配置文件中的chmod +x ./mvnw那一行,如果没有这行的话,你应该会在travis构建时报出Permission denied错误,而且这句话一定要放在before_install下面,不是before_script

    2. 部署环境搭建

    travis支持很多种部署环境,可以在文档中Deployments and Uploads的地方看到:

    image.png

    笔者使用的是pivotal提供的服务,对应的是上述列表中的CloudFoundry。

    我也不知道为什么叫CloudFoundry。。。

    image.png

    可以看到这个指南是有两种方式在.travis.yml中创建了部署的配置:

    • 通过命令行travis setup cloudfoundry,运行完这个命令后会提示你输入一些配置信息,然后替你写入到.travis.yml中。
    • 直接将配置手动写入到.travis.yml文件中。注意,你的密码应该通过travis encrypt --add deploy.password命令来生成。

    travis命令行工具需要根据链接指引去Github中获取。这是一个ruby写的程序,所以需要安装ruby运行环境,安装完ruby后具体安装travis的步骤在README.md中有。

    注意!ruby的版本不能用最新的2.5。安装travis时会报错。使用2.4版本即可。


    下面可以在你的本地环境中进行git push来触发自动构建和部署了~

    相关文章

      网友评论

      • Kylin17:请问有源码地址吗?
        汪呜汪:@Kylin17 这个我还没试过。。。会不会是pivotal的数据库权限的问题~。或者你google一下~
        Kylin17:感谢!!!我有一个小问题:我本地有一个springboot项目是通过jpa和本地的mysql数据库连接的,现在我将这个项目部署到pivotal时,会crash,提示jdbc连接错误什么的,请问大佬有遇到过吗?
        汪呜汪:@Kylin17 你好~这是之前写的部分代码。功能还不全~希望对你有帮助~下面两个地址分别是前端和后端的代码地址。
        https://github.com/xahhy/ThoughtWorks-Shopping-React

        https://github.com/xahhy/ThoughtWorks-Shopping-Spring-Backend

      本文标题:SpringBoot项目搭建

      本文链接:https://www.haomeiwen.com/subject/zrgiaxtx.html