镜像定期构建申请
wojiushixiaobai opened this issue · 3 comments
wojiushixiaobai commented
部分镜像由于更新很频繁,是否可以启动计划触发构建?
一些无架构问题的镜像,如 python,建议每日自动监控上游版本更新,然后自动触发构建。
需要定制一个标准化自动构建的流程,减少人工介入。
比如 Minio,基本每周都会有更新,可以通过脚本检测版本更新。
例:
# github.com/minio/minio
OWNER_NAME=minio
REPO_NAME=minio
# cr.loongnix.cn/repository/minio/minio
CR_OWNER=minio
CR_REPO=minio
function get_app_version() {
curl -s "https://api.github.com/repos/${OWNER_NAME}/${REPO_NAME}/releases/latest" |
grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' |
sed 's/\"//g;s/,//g;s/ //g'
}
function check_app_build() {
APP_VERSION=$1
if curl -s "https://cr.loongnix.cn/api/v1/repository/${CR_OWNER}/${CR_REPO}/tag/?limit=100" | grep "${APP_VERSION}"; then
echo "Yes"
fi
}
APP_VERSION=$(get_app_version)
CHECK_BUILD=$(check_app_build)
if [ -n "${RUN_BUILD}" ]; then
echo "[Info]: 镜像存在,跳过."
exit 0
fi
## 触发构建逻辑
#
# make -C ${CR_OWNER}/${CR_REPO} APP_VERSION=${APP_VERSION} ....
....
znley commented
@wojiushixiaobai 我们在考虑进行这个工作,重点包括 kubernetes 和 library 下比较标准的镜像。您有什么初步的项目规划吗?
wojiushixiaobai commented
@znley
目前没什么规划,需要定期构建的原因其实是修复一些安全问题。
一些基础设施应用如果 Dockerfile 本身方便维护或者与上游无冲突,这部分应用是否可以考虑自动化构建构建上传。
- 每日构建触发流程。
- 测试用例(简单的功能验证)。
- 构建通知。
因为当前 cr.loongnix.cn 不对外开放注册,而且旧世界还要维护一段比较长的时间,所以提了这样一个申请,看看是否有现成的流程可以接入。
znley commented
@wojiushixiaobai
我们在考虑整个框架,因为不可能对每一个项目单独开仓库(github repo),需要把这些项目集中管理为一个仓库,要对项目的组织形式和通用框架做一个验证。