395 字
2 分钟
蓝盾 基于Kaniko构建bkci基础镜像
自定义IC镜像
有两种方式:
- Dockerfile 示例 1(以 bkci 默认镜像为基础镜像):
FROM bkci/ci:latest
RUN yum install -y mysql-devel- Dockerfile 示例 2(不以 bkci 默认镜像为基础镜像时,镜像环境基本要求如下):
# ============= bkci基础环境 ================FROM openjdk:8-jre-slimRUN apt update && apt upgrade && apt autoremove -yRUN apt install -y curl wgetRUN 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.jarRUN ln -sf $JAVA_HOME /usr/local/jre
# ============= 自定义环境 ================# RUN whatever you wantRUN 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 /kanikoRUN 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:/kanikoENV DOCKER_CONFIG /kaniko/.dockerENV SSL_CERT_DIR /kaniko/ssl/certs
# 验证 kaniko 可执行文件(不验证配置)RUN /kaniko/executor version执行bkci镜像构建流水线

发布容器镜像
蓝盾 基于Kaniko构建bkci基础镜像
https://hua-ri.cn/posts/蓝盾基于kaniko构建bkci基础镜像/ 部分信息可能已经过时









