本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
,简化迁移流程。
Bitbucket Pipelines Importer 主要通过Docker镜像分发,也可编译为Java应用程序运行。以下是两种使用方式的详细说明。
打印帮助信息:
docker run -it --rm atlassian/bitbucket-pipelines-importer --help
定义Docker容器内的挂载路径环境变量:
export MOUNT_PATH=/files
运行Docker容器执行迁移:
docker 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:容器内挂载路径环境变量,需与挂载目录保持一致编译JAR文件:
mvn package spring-boot:repackage
运行JAR文件执行迁移:
java -jar target/bitbucket-pipelines-importer-<version>.jar \ migrate jenkins \ -i Jenkinsfile \ # 本地Jenkinsfile路径 -o bitbucket-pipelines.yml # 输出配置文件路径
构建镜像:
docker build -t bitbucket-pipelines-importer .
运行本地镜像:
docker run -it --rm bitbucket-pipelines-importer --help
工具采用插件化架构,支持以下扩展方式:
创建实现PluginTranslationHandler接口的类:
public class CustomPluginHandler implements PluginMappingStrategy { @Override public PluginMappingResult map(MappingContext context, JenkinsStep jenkinsStep) { // 自定义转换逻辑实现 return; } }
注册为Spring组件并设置优先级和支持的命令:
@Component @Order(BeanPrecedence.DEFAULT_MID_IMPLEMENTATION) // 设置优先级 @SupportedCommands({"custom"}) // 指定支持的Jenkins命令 public class CustomPluginHandler implements PluginMappingStrategy {}
创建覆盖默认实现的类
使用@Order注解设置更高优先级(值越小优先级越高):
public 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社区,可:
mvn verify
mvn spotless:apply
工具使用Lombok减少样板代码,需在编辑器中安装Lombok插件:
欢迎对Bitbucket Pipelines Importer贡献代码!详情请参见CONTRIBUTING.md
Copyright (c) 2024 Atlassian US., Inc.
采用Apache 2.0许可证,详见LICENSE文件。
![With ❤️ from Atlassian]([***]
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429