如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
,简化迁移流程。
Bitbucket Pipelines Importer 主要通过Docker镜像分发,也可编译为Java应用程序运行。以下是两种使用方式的详细说明。
先决条件
基本用法
打印帮助信息:
shelldocker run -it --rm atlassian/bitbucket-pipelines-importer --help
迁移Jenkinsfile到Bitbucket Pipelines
定义Docker容器内的挂载路径环境变量:
shellexport MOUNT_PATH=/files
运行Docker容器执行迁移:
shelldocker run -it --rm \ -e MOUNT_PATH=$MOUNT_PATH \ # 容器内文件挂载路径 -v $PWD/workDir:$MOUNT_PATH \ # 将本地工作目录挂载到容器内路径 atlassian/bitbucket-pipelines-importer migrate jenkins \ -i "${MOUNT_PATH}/Jenkinsfile" \ # 输入Jenkinsfile路径(容器内) -o "${MOUNT_PATH}/bitbucket-pipelines.yml" # 输出配置文件路径(容器内)
参数说明:
-i/--input:指定输入的Jenkinsfile路径(容器内路径)-o/--output:指定输出的bitbucket-pipelines.yml路径(容器内路径)-v:本地目录与容器目录挂载,用于文件输入输出-e MOUNT_PATH:容器内挂载路径环境变量,需与挂载目录保持一致先决条件
构建并运行Java应用
编译JAR文件:
shellmvn package spring-boot:repackage
运行JAR文件执行迁移:
shelljava -jar target/bitbucket-pipelines-importer-<version>.jar \ migrate jenkins \ -i Jenkinsfile \ # 本地Jenkinsfile路径 -o bitbucket-pipelines.yml # 输出配置文件路径
本地构建Docker镜像
构建镜像:
shelldocker build -t bitbucket-pipelines-importer .
运行本地镜像:
shelldocker run -it --rm bitbucket-pipelines-importer --help
工具采用插件化架构,支持以下扩展方式:
添加自定义插件转换处理程序
创建实现PluginTranslationHandler接口的类:
javapublic class CustomPluginHandler implements PluginMappingStrategy { @Override public PluginMappingResult map(MappingContext context, JenkinsStep jenkinsStep) { // 自定义转换逻辑实现 return; } }
注册为Spring组件并设置优先级和支持的命令:
java@Component @Order(BeanPrecedence.DEFAULT_MID_IMPLEMENTATION) // 设置优先级 @SupportedCommands({"custom"}) // 指定支持的Jenkins命令 public class CustomPluginHandler implements PluginMappingStrategy {}
覆盖现有插件
创建覆盖默认实现的类
使用@Order注解设置更高优先级(值越小优先级越高):
javapublic interface BeanPrecedence { int CUSTOM_IMPLEMENTATION = 1; // 自定义实现(最高优先级) int DEFAULT_MID_IMPLEMENTATION = 10; // 默认中等优先级实现 int DEFAULT_LOW_FALLBACK = 100; // 默认低优先级回退实现 } @Component @Order(BeanPrecedence.CUSTOM_IMPLEMENTATION) // 高于默认实现 @SupportedCommands({"sh"}) // 覆盖"sh"命令的处理 public class CustomPluginHandler implements PluginMappingStrategy {}
详细使用说明请参考官方文档
Jenkins迁移演示
加入Bitbucket Pipelines社区,可:
shellmvn verify
shellmvn spotless:apply
工具使用Lombok减少样板代码,需在编辑器中安装Lombok插件:
欢迎对Bitbucket Pipelines Importer贡献代码!详情请参见CONTRIBUTING.md
Copyright (c) 2024 Atlassian US., Inc.
采用Apache 2.0许可证,详见LICENSE文件。
https://raw.githubusercontent.com/atlassian-internal/oss-assets/master/banner-cheers.png]([***]
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务