mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
395 字
2 分钟
蓝盾 基于Kaniko构建bkci基础镜像

自定义IC镜像#

参考官方文档:https://bk.tencent.com/docs/markdown/ZH/Devops/3.0/UserGuide/Services/Store/ci-images/docker-build.md

有两种方式:

  • Dockerfile 示例 1(以 bkci 默认镜像为基础镜像):
FROM bkci/ci:latest
RUN yum install -y mysql-devel
  • Dockerfile 示例 2(不以 bkci 默认镜像为基础镜像时,镜像环境基本要求如下):
# ============= bkci基础环境 ================
FROM openjdk:8-jre-slim
RUN apt update && apt upgrade && apt autoremove -y
RUN apt install -y curl wget
RUN wget -q https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk16/1.46/bcprov-jdk16-1.46.jar -O $JAVA_HOME/lib/ext/bcprov-jdk16-1.46.jar
RUN ln -sf $JAVA_HOME /usr/local/jre
# ============= 自定义环境 ================
# RUN whatever you want
RUN apt install -y git python-pip

重要提示:

  • 因为流水线里的容器是通过 CMD,使用/bin/sh 启动的,因此必须保证镜像里面存在/bin/sh 以及 curl 命令(用来下载 Agent)
  • 不要设置 ENTRYPOINT
  • 确保为 64 位镜像
  • 用户用 root,如需普通用户可以在 bash 里面切换,否则流水线任务启动不了
  • 流水线插件有可能使用 python 或 nodejs 开发,建议准备好插件执行环境: Python 插件执行环境 NodeJS 插件执行环境

构建kaniko bkci镜像#

编写Dockerfile:#

# 第一阶段:获取 kaniko 执行器
FROM m.daocloud.io/gcr.io/kaniko-project/executor:latest as kaniko
# 第二阶段:使用 BKCI 官方基础镜像
FROM bkci/ci:latest
MAINTAINER huari "qiqiuyang@papegames.net"
# 从 kaniko 阶段复制必要文件(不包含用户特定的配置文件)
COPY --from=kaniko /kaniko /kaniko
RUN chmod +x /kaniko/executor
RUN apt install -y git python-pip python3-pip \
&& pip config set global.index-url https://mirrors.aliyun.com/pypi/simple \
&& pip config set install.trusted-host mirrors.aliyun.com
# 设置环境变量
ENV PATH $PATH:/kaniko
ENV DOCKER_CONFIG /kaniko/.docker
ENV SSL_CERT_DIR /kaniko/ssl/certs
# 验证 kaniko 可执行文件(不验证配置)
RUN /kaniko/executor version

执行bkci镜像构建流水线#

20250815014642

发布容器镜像#

参考官方文档:https://bk.tencent.com/docs/markdown/ZH/Devops/3.0/UserGuide/Services/Store/ci-images/release-new-image.md

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

蓝盾 基于Kaniko构建bkci基础镜像
https://hua-ri.cn/posts/蓝盾基于kaniko构建bkci基础镜像/
作者
花日
发布于
2025-08-07
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时