
igwn/packaging该Docker镜像专注于测试容器的打包与管理,旨在简化测试环境容器的构建、打包、分发流程,帮助开发和测试团队标准化测试容器的创建过程,确保测试环境的一致性和可移植性。
bashdocker run -v $(pwd):/app \ -e TEST_PROJECT_PATH=/app \ -e OUTPUT_FORMAT=tar \ -e OUTPUT_PATH=/app/test-container.tar \ packaging-test-containers
bashdocker run -v /var/run/docker.sock:/var/run/docker.sock \ -e TEST_PROJECT_PATH=/app \ -e OUTPUT_FORMAT=registry \ -e REGISTRY_URL=my-registry.example.com \ -e IMAGE_NAME=test-container \ -e IMAGE_TAG=v1.0.0 \ packaging-test-containers
| 环境变量 | 描述 | 可选值 | 默认值 |
|---|---|---|---|
| TEST_PROJECT_PATH | 测试项目在容器内的挂载路径 | 绝对路径 | /workspace |
| OUTPUT_FORMAT | 输出格式 | tar/registry | tar |
| OUTPUT_PATH | 当OUTPUT_FORMAT=tar时,归档文件输出路径 | 绝对路径 | /output/test-container.tar |
| REGISTRY_URL | 当OUTPUT_FORMAT=registry时,容器仓库地址 | 域名或IP | - |
| IMAGE_NAME | 容器镜像名称 | 字符串 | test-container |
| IMAGE_TAG | 容器镜像标签 | 字符串 | latest |
| INCLUDE_DEV_DEPS | 是否包含开发依赖 | true/false | false |
yamlversion: '3.8' services: test-container-packager: image: packaging-test-containers volumes: - ./test-project:/app - /var/run/docker.sock:/var/run/docker.sock environment: - TEST_PROJECT_PATH=/app - OUTPUT_FORMAT=registry - REGISTRY_URL=registry.example.com - IMAGE_NAME=integration-test - IMAGE_TAG=${CI_COMMIT_SHA::8} - INCLUDE_DEV_DEPS=true
通过挂载配置文件自定义打包规则,配置文件路径:/etc/packager/config.yaml(需通过-v $(pwd)/config.yaml:/etc/packager/config.yaml挂载)
配置文件示例:
yamlpackaging: exclude_patterns: - "**/node_modules/**" - "**/.git/**" dependencies: auto_install: true lock_file: "requirements.txt" # 根据项目类型自动识别,支持package.json、Gemfile等 output: compression_level: 6 # 仅对tar格式有效 registry: timeout: 300 # 推送超时时间(秒)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务