【制品】通用制品参库

制品仓库

制品库顾名思义是制品的仓库,制品是软件交付的成果性产物,通常是可运行的二进制形式,因此制品库通常也被称之为二进制制品仓库。制品库在开发阶段为使用各种开发语言的微服务开发者提供依赖解析的唯一入口。在构建阶段为各种语言的构建工具提供唯一的依赖解析源和统一的各种语言制品管理库。进入测试阶段后,所有测试环境部署工具从制品库拉取满足测试条件的制品进行部署,测试结束后将测试结果数据反馈到制品库,并且与制品进行关联。部署阶段依据质量关卡检查制品是否满足部署条件,满足则由部署工具从制品库拉取制品对接环境进行部署。
在这里插入图片描述

制品库致力于帮助开发者统一管理各种开发语言在开发、构建过程中的依赖,构建成果(二进制制品)以及交付过程关键信息的重要组件。制品库衔接持续集成和持续部署,是持续集成的成果管理仓库,也是持续部署的物料来源,同时也为研发的静态安全提供保障。

现阶段云效的制品仓库支持:

  • Maven 仓库
  • NPM 仓库
  • 通用制品仓库
    在这里插入图片描述

脚本上传

根据场景不同,结合实际进行处理,这里记录笔记后续参库使用

#!/bin/bash
###############################################
#          构建并发布版本使用                  #
#          需本地添加环境变量                  #
###############################################
#来源文件存放地址
EC_SOURCE_PATH=/地址/docker_v2/ec_web_code.tar
#远程文件上传地址
EC_TARGET_PATH=https://地址/artifactory/snapshot-generic-local/ec_web/ec_web_code.tar

##########################
#列出标签
#git tag
#附注标签&推送标签
#git tag -a v0.0.3 -m "ec_web_code v0.0.3" && git push origin v0.0.3
#获取指定tag版本
tag_version="`git describe --tags --match 'v*.*.*' | cut -d / -f 2 | cut -d - -f 1`"
is_check=false
ls_date=$(date +%Y%m%d%H%M%S)
check() {
  # 注意:由于不能填入硬编码密码,所有调整为环境变量方式存放
  if [ ! -n "$EC_USERNAME" ]; then
    echo "用户账号【EC_USERNAME】不能为空,需要配置环境变量"
  elif [ ! -n "$EC_PASSWORD" ]; then
    echo "用户密码【EC_PASSWORD】不能为空,需要配置环境变量"
  else
    is_check=true
    echo "检查配置和环境变量正常"
  fi
}
clean() {
  echo "===========移除=============="
  rm -rf ec_web_code
  rm -rf docker_v2/ec_web_code*.tar
  sleep 1
}
build() {
  echo "===========构建=============="
  npm run build
  sleep 1
}
vczf() {
  echo "===========压缩=============="
  tar -vczf ec_web_code_${ls_date}.tar ec_web_code/
}
move() {
  echo "===========移动=============="
  mv ec_web_code*.tar docker_v2/
  cd docker_v2/
  cp ec_web_code_${ls_date}.tar ec_web_code.tar
}
upload() {
  if [ ! -f "$EC_SOURCE_PATH" ]; then
    echo "文件不存在,请检查指定位置下是否存在:$EC_SOURCE_PATH"
  else
    echo "===========上传=============="
    echo "$EC_TARGET_PATH"
    curl -u $EC_USERNAME:$EC_PASSWORD -T $EC_SOURCE_PATH "$EC_TARGET_PATH"
   fi
}
# 选择类型执行
case "$1" in
upload)
  upload
  ;;
check)
  check
  ;;
start)
  check
  if $is_check;then
    clean
    build
    vczf
    move
    upload
  fi
  ;;
clean)
  clean
  ;;
*)
  printf 'Usage: %s {check|start|clean|upload}\n' "$prog"
  exit 1
  ;;
esac

参库

什么是制品参库

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掘金者说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值