如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
mithomedia/ci-tools是一个轻量级的构建工具集合,旨在帮助编写CI/CD流水线,特别适用于Drone CI环境。该镜像基于php:8.1-alpine构建,包含多种预安装的常用工具和自定义命令,可简化代码构建、部署、缓存管理等CI/CD流程中的常见任务。
php:8.1-alpine镜像,提供轻量级基础环境在基础镜像上额外安装了以下可执行程序:
ack(替代busybox中缺失的grep -P功能)bashcurlgitjqsshopensslrsyncvimzip集成了多个主流开发工具:
box:来自https://github.com/box-project/box%E7%9A%84PHP%E5%BD%92%E6%A1%A3%E5%B7%A5%E5%85%B7cachetool:来自https://github.com/gordalina/cachetool%E7%9A%84%E7%BC%93%E5%AD%98%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7composer:来自https://github.com/composer/composer%E7%9A%84PHP%E4%BE%9D%E8%B5%96%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7mustache:来自https://github.com/cbroglie/mustache%E7%9A%84Go%E8%AF%AD%E8%A8%80Mustache%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8Esw:来自https://github.com/shopwareLabs/sw-cli-tools%E7%9A%84Shopware CLI工具symfony:来自https://github.com/symfony/cli%E7%9A%84Symfony CLI工具wp:来自https://github.com/wp-cli/wp-cli%E7%9A%84WordPress CLI工具提供多个专为CI流程设计的自定义命令,如:
build-info:提取构建信息并以JSON格式输出changes:列出上次标签后的所有提交deploy-name:生成可排序的部署目录名deploy-via-tar:通过tar工具部署文件到远程主机extract-tag:处理标签名,移除不需要的前缀git-export:从版本控制中导出当前修订版内容ioncube-encode:通过外部服务编码PHP文件roll-files:保留指定数量的最新目录,删除旧目录switch-link:更新远程主机上的符号链接deploy-via-tar、switch-link等命令实现自动化部署流程可通过Drone风格的设置或对应的环境变量进行配置:
| 设置项 | 环境变量 | 说明 |
|---|---|---|
git_force_https | $PLUGIN_GIT_FORCE_HTTPS | 强制使用HTTPS URL访问所有仓库(针对主仓库主机名和git@风格的URL) |
ssh_key | $PLUGIN_SSH_KEY | 用作默认SSH身份的私钥内容 |
ssh_strict_keys | $PLUGIN_SSH_STRICT_KEYS | 设置StrictHostKeyChecking的默认值,可选yes或no |
Docker运行命令
运行镜像并进入交互式shell:
bashdocker run -it --rm mithomedia/ci-tools sh
执行特定命令(如查看composer版本):
bashdocker run --rm mithomedia/ci-tools composer --version
Drone CI配置示例
在Drone CI中使用该镜像作为步骤:
yamlsteps: - name: build image: mithomedia/ci-tools commands: - composer install - symfony console cache:clear - build-info --drone > build-info.json
ioncube-encode命令
使用外部ioncube编码服务编码PHP文件:
yamlsteps: - name: encode-php image: mithomedia/ci-tools settings: ioncube_url: https://ioncube.example.com/encode commands: - ioncube-encode src/app.php dist/app-encoded.php
如果不使用Drone,可通过环境变量设置:
bashdocker run -e PLUGIN_IONCUBE_URL=https://ioncube.example.com/encode --rm mithomedia/ci-tools ioncube-encode src/app.php dist/app-encoded.php
deploy-via-tar命令
部署文件到远程主机:
bashdocker run -e SSH_KEY="$(cat ~/.ssh/id_rsa)" --rm mithomedia/ci-tools deploy-via-tar user@example.com:/var/www deploy-20231001 file-list.txt
roll-files命令
保留远程主机上最新的10个以"deploy-"为前缀的目录:
bashdocker run -e SSH_KEY="$(cat ~/.ssh/id_rsa)" --rm mithomedia/ci-tools roll-files user@example.com:/var/www deploy- 10
dockerfileFROM php:8.1-alpine COPY bin/* /usr/local/bin/ COPY README.md entrypoint.sh / RUN chmod +x /entrypoint.sh # 包含一些调试便利工具 :sweat_smile: # ack替代缺失的grep -P RUN apk add --no-cache ack bash bash-completion ca-certificates curl git gzip jq nano ncurses tar openssh-client-default openssl rsync zip \ && clear-caches RUN curl -sL https://github.com/cbroglie/mustache/releases/download/v1.2.0/mustache_1.2.0_linux_amd64.tar.gz \ | tar -xz mustache \ && install -t /usr/local/bin mustache \ && rm mustache RUN mkdir -p install \ && curl -sL https://github.com/box-project/box/releases/download/4.2.0/box.phar > install/box \ && curl -sL https://github.com/gordalina/cachetool/releases/download/8.5.0/cachetool.phar > install/cachetool \ && curl -sL https://github.com/gordalina/cachetool/releases/download/5.1.3/cachetool.phar > install/cachetool5 \ && curl -sL https://github.com/composer/composer/releases/download/2.5.1/composer.phar > install/composer \ && curl -sL https://github.com/shopwareLabs/sw-cli-tools/releases/download/0.4.3/sw.phar > install/sw \ && curl -sL https://github.com/symfony-cli/symfony-cli/releases/download/v5.4.20/symfony-cli_linux_amd64.tar.gz | tar -xz \ && mv symfony install/ \ && curl -sL https://github.com/wp-cli/wp-cli/releases/download/v2.7.1/wp-cli-2.7.1.phar > install/wp \ && chmod +x install/* \ && cp install/* /usr/local/bin \ && rm -r install ENTRYPOINT ["/entrypoint.sh"]
本镜像中用于构建的便捷脚本可在镜像内查看,并根据以下MIT许可证条款发布。
版权所有 2023 mitho®
特此授予任何获得本软件及相关文档文件(以下简称“软件”)副本的人免费许可,不受限制地处理本软件,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售软件副本的权利,并允许向其提供软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于对适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易引起的任何索赔、损害或其他责任承担责任,无论是合同诉讼、侵权诉讼还是其他形式的诉讼。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务