发布流程

  1. 首先,将我们在前一章节写的服务提供者工程根目录中 拷入本地maven根目录/conf 文件夹下的 setting.xml。
  2. 将工程上传代码到Aliyun Code。
  3. 然后,我们登录 CRP 官网 进行设置。
  4. 点击创建新项目,新建项目并新建 Java工程标准模板 的工作流。并将代码库指向我们刚刚上传的Git 仓库,保存退出。
  5. 通过阿里CRP 进行提交后自动化单元测试。 接下来我们在工程中添加单元测试模块,并使用 CRP 线上部署时自动测试。
    • 在 src 目录下新建 test/java 文件夹(注:与 main 目录平级), 并将其 Mark 为 Test Sources Root。
    • java 文件夹下 新建 com.wangjubao.test_service.test 包 并新建 TestProvider 类。
    • 将其提交后,我们回到 aliyun CRP 官网,稍等片刻,即可看到 工作流 开始进行运行,可以在网页控制台上看到 Test 的log 输出。
  6. 通过阿里CRP 进行提交后 自动生成JavaDoc。
    • 在CRP 中编辑工作流,对代码编译环节进行编辑。添加如下行 mvn javadoc:javadoc
    • 在工程pom.xml 文件 <properties\> 节点下 添加 如下代码:
      <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      
    • 在工程pom.xml 文件 <build\> 节点下 添加 如下代码:
        <build>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-javadoc-plugin</artifactId>
              <version>2.10.4</version>
              <configuration>
                <reportOutputDirectory>target/javadocs</reportOutputDirectory>
                <destDir>service-proivder</destDir>
              </configuration>
            </plugin>
          </plugins>
        </build>
      
    • 提交代码,可以看到CRP 控制台 进行自动编译,生成javadoc。
  7. 点击预发布,开始部署到测试环境。
    • 进入编辑工作流界面,针对服务器地址以及服务器上Tomcat路径进行配置。
    • 点击机器授权,拷贝密钥,将其拷贝到 服务器对应用户目录(这里我的是 deploy 用户)的 .ssh/authorized_keys 文件夹下。
    • 将 restart.sh 脚本 写入 TOMCAT_HOME/bin/restart.sh 文件中
        APP_NAME=test_service_provider-1.0-SNAPSHOT
        TOMCAT_HOME=/home/deploy/apache-tomcat-9.0.0.M15
        if [ -d "$TOMCAT_HOME"=0 ];
        then echo "$TOMCAT_HOME not found"
        exit 1
        else
        $TOMCAT_HOME/bin/shutdown.sh
        echo "shutdown success"
        fi
        cd $TOMCAT_HOME/webapps
        ### rm root
        if [ -d "$TOMCAT_HOME/webapps/ROOT" ];then
         rm -rf $TOMCAT_HOME/webapps/ROOT
        fi
        #### rm app
        rm -rf $TOMCAT_HOME/webapps/$APP_NAME.war
        rm -rf $TOMCAT_HOME/webapps/$APP_NAME
        echo "delete package finish"
        tar -xzf package.tgz
        echo "tar success"
        $TOMCAT_HOME/bin/startup.sh
        echo "starup finish"
      
    • 将 工作流 保存退出,点击预发布 开始按钮,即可发布到对应服务器
    • 在 地址栏中 输入 http://121.40.32.163:8080/test_service_provider-1.0-SNAPSHOT/ 即可看到我们刚刚工程中的 index.jsp
    • 在 地址栏中 输入 http://121.40.32.163:8080/javadocs/service-proivder/index.html即可看到我们刚刚工程中所对应的javadoc 文档。
  8. 测试环境人工验证通过后,即可进行点击部署正式环境,步骤 同部署到测试环境相同。

这样,我们在每一次 提交代码后 我们都可以 对代码进行自动编译,进行单元测试,文档自动更新,并且一键部署到对应的服务器,这样我们可以更加专注于我们的开发,而在今后的开发过程中无需对编译、发布、部署、文档这些环节重复劳动,有没有很心动,快来行动起来吧。