---
title: 编译spring-cloud-build-2.2.1.RELEASE源码
description: "1. 下载spring-cloud-build-2.2.1.RELEASE源码。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengwebs/ecosystemEnable/SpringCloud/kunpengspringcloudhoxton_02_0010.html
sourcePath: /source/zh/kunpengwebs/ecosystemEnable/SpringCloud/kunpengspringcloudhoxton_02_0010.html
indexId: dcaa1b4794cfa9c8f70d3f82dbdb90c0c65f32365ea7542284fea2d81b3f0c2988
---
# 编译spring-cloud-build-2.2.1.RELEASE源码

1. 下载spring-cloud-build-2.2.1.RELEASE源码。
  1 2 3 cd /home git config --global http.sslVerify false git clone https://github.com/spring-cloud/spring-cloud-build.git

  若下载时出现“fatal: unable to access 'https://github.com/spring-cloud/spring-cloud-build.git/': Empty reply from server”报错，是因为代码仓网络不稳定，重复下载即可。 若下载时出现“Peer's Certificate issuer is not recognized”报错，请参考1-4进行配置。 打开“/etc/profile”文件。 1 vim /etc/profile 按“i”进入编辑模式，增加如下配置内容。 1 export GIT_SSL_NO_VERIFY=true 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。 使配置生效。 1 source /etc/profile 社区表示官方渠道的Spring Cloud相关项目源码压缩包（zip、tar.gz格式）的用途是共享源码而不是构建，因此源码压缩包不包含构建过程依赖的git项目文件，使用其进行构建可能导致错误。故本文档下载源码部分不提供源码压缩包下载地址，而是提供使用git命令克隆源代码的方法。

2. 切换到指定版本。
  1 2 cd spring-cloud-build git checkout v2.2.1.RELEASE

3. 适配ARM版本的shellcheck。

  a. 打开build-helper.sh文件。
    1 vim docs/src/test/bash/build-helper.sh

  b. 按“i”进入编辑模式，添加如下内容。

    - 修改第23行。
      1 SHELLCHECK_VERSION="v0.7.0"

      Shellcheck自0.7.0版本开始支持ARM架构。

    - 修改第29行。
      1 2 ARCH=`uname -m` SHELLCHECK_ARCHIVE="shellcheck-${SHELLCHECK_VERSION}.linux.${ARCH}.tar.xz"

    - 修改第36行。
      1 "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/${SHELLCHECK_ARCHIVE}"

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
4. 执行编译。
  1 mvn clean install -Dgpg.skip=true

  若显示BUILD SUCCESS，则编译通过。

  以下在编译过程中可能遇到的问题适用于本文档所有项目。 社区表明如果用户希望自行构建RELEASE版本，需跳过gpg检查。如果执行命令出现gpg相关报错，请参考gpg检查问题的解决方法修改。 若编译过程中出现“ERROR: cannot verify storage.googleapis.com's certificate”或“validity check failed”相关报错，请参照导入证书(https://www.hikunpeng.com/document/detail/zh/kunpengwebs/ecosystemEnable/SpringBoot/kunpengspringboot_02_0029.html)进行配置。 若编译过程中出现“connection refused”，是由于网络代理问题，多执行几次测试命令。 项目构建过程可能会因checkstyle-plugin检查导致编译失败的问题，经测试在x86架构的环境中存在同样问题，本文档不涉及提交代码，故可去掉该插件，避免问题。若遇到该报错信息，请参考编译Spring Boot时提示Failed during checkstyle execution的解决方法进行处理解决。
