【GitLab】Java、Android、Vue打包平台系列一仓库信息接入

本文介绍了如何将GitLab与SpringBoot运营后台整合,实现在运营平台进行Java、Android、Vue项目的动态打包。主要涉及登录GitLab获取项目信息,使用Retrofit接口读取分支和提交记录,并提供了关键接口代码示例。同时,文章提醒注意接口配置与访问权限问题。
摘要由CSDN通过智能技术生成

一、自动打包的使用场景

近半年一直在参与几个移动互联网的App前后端相关技术工作,其中有一个比较典型的需求。
就是运营和产品同学希望能够在运营平台通过可视化界面,针对Java、Android、Vue进行指定版本指定环境的动态打包。
这个需求其实很普遍,整理的实现过程是这样的。
在这里插入图片描述
本篇文章,主要探讨,Gitlab相关信息如果在运营后台进行可视化展现。

二、技术栈构成

运营平台后端使用SpringBoot、MybatisPlus、Retrofit,前端使用Vue+Guns。

三、运营后台SpringBoot接入GitLab

3.1 登录GitLab,采集基础信息

project id:项目标号信息,一般情况都是一个id类型的数字。采集位置如下:
在这里插入图片描述
申请账号token:主要用于在springboot项目中访问GitLab时候,识别用户权限的。位置如下:
在这里插入图片描述
其中,红色方框描述的是生成的token,具备什么样的操作权限。

3.2 配置访问接口,读取项目信息

因为使用的是Retrofit进行了的GitLab数据拉取,所以核心在于接口文件的描述。application扫描的代码略掉,接口文件配置演示内容如下:

/**
 * @author zhangjian
 * @version 1.0.0
 * @date 2021/6/12
 * @since 1.0.0
 */
@RetrofitClient(baseUrl = "http://"主机地址)
public interface FishnovelAndroid {

    /**
     * 查询分支信息
     * @return
     */
    @GET("/api/v4/projects/73/repository/branches?private_token=Y1zycWpT-eYLNyKB_Jzz")
    List<ProjectBranche> getProjectBranchs(@Query("page")int page,
                                           @Query("per_page")int count);

    /**
     * 查询默认分支提交记录
     * @return
     */
    @GET("/api/v4/projects/73/repository/commits?private_token=Y1zycWpT-eYLNyKB_Jzz")
    List<ProjectCommitRecord> getProjectCommitRecord(@Query("page")int page,
                                                     @Query("per_page")int count);

    /**
     * 根据分支信息查询提交记录
     * @param branchName 分支名
     * @param page 页码,默认1
     * @param count 每页数据量,极限值100
     * @return
     * 
     */
    @GET("/api/v4/projects/73/repository/commits?private_token=Y1zycWpT-eYLNyKB_Jzz")
    List<ProjectCommitRecord> getProjectCommitRecordForBranch(@Query("ref_name")String branchName,
                                                              @Query("page")int page,
                                                              @Query("per_page")int count);
}

通过上述几个接口,就可以顺利拉取到GitLab中project id 为73这个项目的分支信息提交记录

四、注意事项

重点关注接口文件的配置

@RetrofitClient 指向的是GitLab服务器IP或者域名地址,切记不要是堡垒机关联的内网地址,否则访问不到。
接口地址/api/v4/projects/73/repository/commits?private_token=Y1zycWpT-eYLNyKB_Jzz中,73是GitLab中项目的project id信息,private_token描述的是访问GitLab的token信息,其他地址信息固定。
项目project id 信息需要在业务数据库手动维护,在运营后台展示,通过选中操作,指定某个project id ,通过动态拼接参数就可以动态访问,实现暂时忽略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值