美文网首页
搭建基于nexus的android包管理私服

搭建基于nexus的android包管理私服

作者: bridegg | 来源:发表于2018-09-12 17:36 被阅读0次

    fu# NEXUS第三方maven框架简单搭建

    安装

    本文基于linux service系统安装,安装比较简单,点击这里进入官方下载网站。目前nexus分为2.X和3.X。

    2.x

    目前大多数文档和公司都使用2.x版本,2.x版本相比较3.x的版本稳定,使用时间久,好搭建,但是支持内容比较少,目前仅支持三种管理工具:Maven OBR P2 Yum,本文将使用2.x的版本

    3.x

    3.x版本是未来仓库管理工具的趋势,目前3.x支持的仓库超级多,下图为官网所示:

    3.x支持版本
    但是目前3.x文档比较稀少,bug也比2.x版本多。使用版本前需要权衡。

    在官网下载tar包或zip包均可,可以直接通过linux下载tar包解压,这里就不赘述如何下载解压了,网上有很多教程。
    解压后大约是这样的一个目录

    nuxus

    bin目录

    bin目录主要配置了nexus的核心程序,启动目录也在这里,nexus默认自己搭载了servelet容器,所以不需要安装其他类似tomcat nginx等等容器。
    conf目录,一些配置信息,在nexus.properties可以配置一些端口,ip等
    我目前的配置目录如下

    
    application-port=8081  
    application-host=0.0.0.0  
    nexus-webapp=${bundleBasedir}/nexus  
    nexus-webapp-context-path=/nexus  
    
    # Nexus section  
    nexus-work=${bundleBasedir}/../sonatype-work/nexus  
    runtime=${bundleBasedir}/nexus/WEB-INF  
    
    
    

    lib目录主要存放了一些nexus运行时的依赖库
    logs目录,存放nexus运行时所有的log,需要定时清理
    nexus目录里面存放整个nexus运行html页面

    在linux命令中打开bin目录,执行./nexus start,启动nexus服务。
    若遇到权限不足,可以通过chmod -R 777 需要权限的目录

    运行

    打开ip:端口/nexus,进入nexus首页,点击左上角login in,通过登录管理员获取最高权限,默认账号、密码admin:admin123
    登录后进入welcome页面

    s

    左侧菜单

    artifact Search 搜索
    views\repositories 仓库
    security 安全相关的配置
    administration nexus一些相关配置
    help 一些没有用的关于啊啥的

    android端使用的时候一般只在views\repositories 其他菜单可以不用关心。

    repositories

    image.png
    Public Repositories:仓库组
    3rd party:一般自己上传无法从公共仓库获得的第三方发布版本的依赖包、例如oracle的ojdbc等、
    Apache Snapshots:用了代理ApacheMaven仓库快照版本的构件仓库、一般不使用
    Central:用来代理maven中央仓库中发布版本构件的仓库
    Central M1 shadow:用于提供中央仓库中M1格式的发布版本的构件镜像仓库
    Releases:用来部署管理内部的发布版本构件的宿主类型仓库
    Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库
    jybd_web_view: 这个是一个自己上传的仓库,并非nexus自带仓库

    其他菜单目前没有用到,大多都是一些配置,例如Group配置,分类配置等等,目前先不做考虑

    新建仓库

    点击add-》Hosted Reository,新建一个托管仓库

    image.png

    点击完毕后,在下方会看到一个表单,如下图所示

    image.png

    我这里填写test,点击下方非常不明显的save后,如下图所示

    image.png

    新建完成后,会在仓库中出现你刚刚创建的托管地址,此时我们就可以在android studio中编写代码了。

    下面附上android端lib目录下面的gradle代码

    apply plugin: 'com.android.library'//标识该项目为lib项目插件
    apply plugin: 'maven'//maven插件,用来上传
    apply plugin: 'signing'//签名插件
    signing {//若是正式版本或者上传时,签名
        required { has("release") && gradle.taskGraph.hasTask("uploadArchives") }
        sign configurations.archives
    }
    
    uploadArchives {//上传配置
        configuration = configurations.archives
        repositories.mavenDeployer {
            beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }// 上传之判断是否签名
            repository(url: 'http://www.shprochina.com:8081/nexus/content/repositories/jybd_web_view/') {//仓库地址
                authentication(userName: "账号",//用户名
                        password: "密码")//密码
            }
    
            pom.project {//pom配置,此处配置与上一步填写内容一致
                name 'ttshop'
                packaging 'aar'
                description 'none'
                //default local storage localtion
                url 'http://www.shprochina.com:8081/nexus/content/repositories/jybd_web_view/'//仓库地址
                groupId "public"
                artifactId "jybd_web_view" //LibA
                version 1.03
            }
        }
    }
    

    写好代码后,编译,然后在terminal中执行
    gradlew uploadArchives 将arr上传至nexus

    image.png

    得到红框框内的提示后,说明上传完成,刷新nexus,点击你的项目,就可以看到刚刚上传的arr了


    image.png

    jenkins自动上传到仓库

    下载nexus插件,在自动构建中增加gradle脚本


    image.png

    ,即可自动上传到仓库

    相关文章

      网友评论

          本文标题:搭建基于nexus的android包管理私服

          本文链接:https://www.haomeiwen.com/subject/ugzvgftx.html