编译spring-cloud-gcp-1.2.1.RELEASE源码

鲲鹏镜像站中提供的二进制包是基于开源代码直接编译打包而成的,不含漏洞及BUG修复。
使用开源软件时需遵守开源软件的许可协议。
- 下载spring-cloud-gcp-1.2.1.RELEASE源码。
1 2 3
cd /home git config --global http.sslVerify false git clone https://github.com/spring-cloud/spring-cloud-gcp.git
- 切换到指定版本。
1 2
cd spring-cloud-gcp git checkout v1.2.1.RELEASE
- 配置google-cloud-sdk Yum源。(如果当前环境访问网络时不需要代理,可不执行该步骤。)
- 备份Yum源。
mkdir -p /etc/yum.repos.d/bak/ mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
- 新建google-cloud-sdk.repo文件。
1
vim /etc/yum.repos.d/google-cloud-sdk.repo
- 按“i”进入编辑模式,输入如下内容。
[google-cloud-sdk] name=Google Cloud SDK baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg sslverify=false
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 使Yum源生效。
1 2
yum clean all yum makecache
- 备份Yum源。
- 安装google-cloud-sdk,google-cloud-sdk-pubsub-emulator和google-cloud-sdk-datastore-emulator。(如果当前环境访问网络时不需要代理,可不执行该步骤。)
1
yum install -y google-cloud-sdk google-cloud-sdk-pubsub-emulator google-cloud-sdk-datastore-emulator
如果编译报错“(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)”,则执行以下命令。
yum install -y google-cloud-sdk google-cloud-sdk-pubsub-emulator google-cloud-sdk-datastore-emulator --nobest
- 完成初始化。(如果当前环境访问网络时不需要代理,可不执行该步骤。)
1
gcloud init
- 启动datastore和pubsub。(如果当前环境访问网络时不需要代理,可不执行该步骤。)
1 2
gcloud beta emulators datastore start --host-port localhost:8181 & gcloud beta emulators pubsub start --host-port localhost:8085 &
- 替换JAR包。
编译过程中会拉取grpc-netty-shaded-1.23.0.jar包,此jar包不含有ARM64架构so,因此需要进行替换。
- 创建库目录“~/.m2/repository/io/grpc/grpc-netty-shaded/1.23.0/”。
1
mkdir -p ~/.m2/repository/io/grpc/grpc-netty-shaded/1.23.0/
- 获取grpc-netty-shaded-1.23.0.jar包。
1
wget https://mirrors.huaweicloud.com/kunpeng/maven/io/grpc/grpc-netty-shaded/1.23.0/grpc-netty-shaded-1.23.0.jar --no-check-certificate
- 将下载的JAR包复制到库目录下。
1
cp grpc-netty-shaded-1.23.0.jar ~/.m2/repository/io/grpc/grpc-netty-shaded/1.23.0/
- 创建库目录“~/.m2/repository/io/grpc/grpc-netty-shaded/1.23.0/”。
- 编译。
1
./mvnw clean install -Dgpg.skip=true
若显示BUILD SUCCESS,则编译通过。
- 如果编译时遇到GcpDatastoreEmulatorIntegrationTests报错,请参考spring-cloud-gcp异常问题的解决方法解决。
- 由于老旧机械盘读写能力较弱,导致处理业务的时延较高,建议用户使用性能较优的磁盘进行业务验证,例如SSD盘。
- 编译过程如果卡住,建议重启机器后,挂载磁盘到编译目录,再执行6(可选)和8。
- 编译完成后关闭datastore和pubsub服务。
1
pkill -9 java
父主题: 编译安装