首页 > 其他 > 详细

How to build your custom release bazel version?

时间:2021-08-20 11:43:52      阅读:19      评论:0      收藏:0      [点我收藏+]

一般情况下用源代码编译,生成的都是开发版本,这种版本做版本号校验方面会有很多问题,所以需要编译自己的release版本。

 

export USE_BAZEL_VERSION=1.2.1 # 选择使用版本为准备定制的bazel版本的基础版本,否则部分规则跨大版本bazel语法不兼容

yum install java-11-openjdk java-11-openjdk-devel  # 如果在ubuntu,需要使用apt install XXX

如果直接下载的源代码包解压编译的话,会没有git的commit记录,这样改版本号的脚本会不过,需要写死一个commit号,如果是git clone下来的branch或者tag的话,下面的修改不用做:

diff ../bazel-1.2.1-dist/scripts/ci/build_status_command.sh ../bazel-0.24.1-dist/scripts/ci/build_status_command.sh
25,26c25
< #git_hash=$(git rev-parse --short HEAD)
< git_hash=5c4c67c
---
> git_hash=$(git rev-parse --short HEAD)

 

先编译一个开发版本:

bazelisk build --sandbox_tmpfs_path=/tmp //src:bazel

 

定义需要打包的版本号:

export release_name=1.2.1

上面这句命令表示生成的版本号就是1.2.1

 

修改开发版本的版本信息生成发布版本的ubuntu操作系统命令:
mkdir output
cp bazel-bin/src/bazel output/bazel
output/bazel build \
-c opt \
--stamp \
--sandbox_tmpfs_path=/tmp \
--embed_label "${release_name}" \
--workspace_status_command=scripts/ci/build_status_command.sh \
src/bazel \
src/bazel_nojdk \
scripts/packages/with-jdk/install.sh \
scripts/packages/debian/bazel-debian.deb \
scripts/packages/debian/bazel.dsc \
scripts/packages/debian/bazel.tar.gz \
bazel-distfile.zip

centos/tlinux命令:

mkdir output
cp bazel-bin/src/bazel output/bazel

output/bazel build \
-c opt \
--stamp \
--sandbox_tmpfs_path=/tmp \
--embed_label "${release_name}" \
--workspace_status_command=scripts/ci/build_status_command.sh \
src/bazel

  

这样之后下面的版本就是发布版本了,版本号就是${release_name}里面指定的

bazel-bin/src/bazel

 

如果想要用自己定制的bazel版本,需要启动一个http服务器,并将编译好的bazel版本按路径放到对应目录下,下面的例子是本地启动的http服务器:
export BAZELISK_BASE_URL=http://127.0.0.1/bazel

完整编译过程可以参照bazel的CI脚本:

continuous-integration/bazel-release.yml at master · bazelbuild/continuous-integration (github.com)

How to build your custom release bazel version?

原文:https://www.cnblogs.com/zhouronghua/p/15165084.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!