搭建流水线用bazel编译java项目,发布至123平台

参考

背景

如何搭建流水线用bazel编译java项目(非trpc框架),并发布至123平台。大仓虽然给出了教程大仓标准化项目镜像制作与推送 123 指引,但其方案并不准确,实践时有很多坑会踩。本文给出正确流程。

大仓教程思路

官方教程大仓标准化项目镜像制作与推送 123 指引的思路是,假设当前java项目已在大仓标准化,则需要完成以下事项:

  1. 在项目中引入123平台的打包插件
  2. 配置编译镜像并发布到123平台的流水线

引入打包插件

使用如下打包插件。运行它,可以替你构建编译目标,并打包成123平台所接受的压缩包格式。

load("//tools/build_defs/pkg:123.bzl", "non_trpc_123_package")

# 用于非trpc程序部署在123平台
non_trpc_123_package(
    name = "ZkDialTest_123_package", # ZkDialTest是123平台上的server名,123_package最好固定
    binary = ":ZkDialTest", # 构建目标的java_binary名,最好统一成和123上的server名一致
#    bin_extra_files = [
#        "//path/to/files:target1",
#        "//path/to/files:target2",
#    ], # 需要被打包进 bin 目录的额外文件或文件夹,可使用 filegroup 或 pkg_files 进行包装
    monitor_shell = "monitor.sh", # 监控脚本,必填
    start_shell = "start.sh", # 启动脚本,必填
    stop_shell = "stop.sh", # 停止脚本,必填
    visibility = ["//visibility:public"],
)

流水线中运行它时,执行以下命令即可。

bazel build //prod/bigdata/cdmq/DialTest:ZkDialTest_123_package

配置流水线

  • 进入项目自己的蓝盾流水线空间,逐步选择“新建流水线-从模板新建-研发商店”,搜索 “大仓标准化项目镜像制作与推送 123”,按照默认的自由模式进行实例化。将这个流水线复制,并自行编辑。
  • 若流水线的前置步骤 tencent2 仓库别名未命名为 depot/tencent2,需修改 “拉取GIT(命令行ÿ
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值