Nexus安装Composer社区插件

官方的nexus并不直接支持composer,需要安装其社区版。

nexus-repository-composer社区版本地址:Github

我的nexus3使用的docker安装,详情可以参考Nexus3搭建及使用

为了永久使用,我直接使用社区版中提到的(most) Permanent Install方法进行安装。

一、获取官方代码

git clone https://github.com/sonatype-nexus-community/nexus-repository-composer.git

二、打成jar包

cd nexus-repository-composer
mvn clean package

TrojanSun_2020-04-18_11-28-55

TrojanSun_2020-04-18_09-59-27

三、获取容器的xml和plugins

首先要进入到容器中看一下自己的版本,我这里xml的版本号是3.22.1-02,一般这个都可以在/opt/sonatype/nexus/system/org/sonatype/nexus/assemblies/nexus-core-feature/里面看到,你的是多少就配置多少就可以。

docker cp nexus3:/opt/sonatype/nexus/system/org/sonatype/nexus/assemblies/nexus-core-feature/3.22.1-02/nexus-core-feature-3.22.1-02-features.xml . # 复制容器中的文件到本地
docker cp nexus3:/opt/sonatype/nexus/system/org/sonatype/nexus/plugins . # 复制容器中的文件夹到本地

四、修改xml

首先创建映射的目录,我这里创建的是/datahub/nexus3_volumes/opt/sonatype/nexus/system/org/sonatype/nexus/assemblies/nexus-core-feature/3.22.1-02/

nexus-core-feature<feature prerequisite="true" dependency="false">wrap</feature>下面增加

<feature prerequisite="false" dependency="false">nexus-repository-composer</feature>

TrojanSun_2020-04-18_10-23-15

在文件的最后</features>前增加如下代码

<feature name="nexus-repository-composer" description="org.sonatype.nexus.plugins:nexus-repository-composer" version="0.0.5">
  <details>org.sonatype.nexus.plugins:nexus-repository-composer</details>
  <bundle>mvn:org.sonatype.nexus.plugins/nexus-repository-composer/0.0.5</bundle>
</feature>

TrojanSun_2020-04-18_10-25-19

修改完成后,把文件放到创建的文件夹下

mv nexus-core-feature-3.22.0-02-features.xml /datahub/nexus3_volumes/opt/sonatype/nexus/system/org/sonatype/nexus/assemblies/nexus-core-feature/3.22.1-02/nexus-core-feature-3.22.0-02-features.xml

五、上传jar

首先创建映射的模板,我这里创建的是/datahub/nexus3_volumes/opt/sonatype/nexus/system/org/sonatype/nexus/plugins

找到nexus-repository-composer/target/nexus-repository-composer-0.0.5-SNAPSHOT.jar文件,我修改成了 nexus-repository-composer/target/nexus-repository-composer-0.0.5.jar*

在插件目录创建nexus-repository-composer文件夹,并在其内部创建对应的版本信息,我这里创建的是0.0.5,然后把jar文件复制到其中即可。

TrojanSun_2020-04-18_10-28-14

六、重启容器

TrojanSun_2020-04-18_10-30-16

这个时候可以看到系统内已经有composer

composer的官方proxy为:https://packagist.org/,配置的过程都一样,不再赘述。可以根据Nexus3搭建及使用进行配置

七、配置composer

7.1 全局配置

composer config -g repo.packagist composer https://mirrors.ruoxisoft.org/repository/composer-public/

取消配置

composer config -g --unset repos.packagist

TrojanSun_2020-04-18_10-32-11

7.2 项目配置

如果不想全局配置,可以通过如下命令进行项目局部配置。

composer config repo.packagist composer https://mirrors.ruoxisoft.org/repository/composer-public/

取消配置

composer config --unset repos.packagist

八、composer使用

比如我这里安装yii2

composer create-project yiisoft/yii2-app-advanced advanced

TrojanSun_2020-04-18_15-01-13

比如已经获取到了composer.json,也可以通过composer install进行安装

TrojanSun_2020-04-18_15-00-37

标签: nexus, Composer