贸易公司网站建设方案,html静态网页作业成品,什么是响应式网站设计,建站教程pdf我们在日常开发中经常需要使用到私有仓库#xff0c;比如 dotNET 中的 NuGet、Java 中的 Maven、前端的 npm#xff0c;还有 Docker 镜像#xff0c;每一个私有仓库各自管理#xff0c;维护起来比较麻烦#xff0c;而 Nexus 可以将其统一起来。本文将介绍 Nexus 的安装以及… 我们在日常开发中经常需要使用到私有仓库比如 dotNET 中的 NuGet、Java 中的 Maven、前端的 npm还有 Docker 镜像每一个私有仓库各自管理维护起来比较麻烦而 Nexus 可以将其统一起来。本文将介绍 Nexus 的安装以及怎样进行 NuGet 、Maven、npm 和 Docker 镜像的管理。环境Nexus3.29.2NuGet5.5.1Maven3.6.3NPM6.14.8Docker19.03.13操作系统CentOS 7安装可以使用直接在服务器进行安装或者使用 Docker 镜像的方式安装本文采用 Docker 镜像的方式安装。1、执行下面的命令进行容器的构建。docker run -d -p 8081:8081 -p 8082:8082 --name nexus_8081 -v /root/data/nexus:/nexus-data --restartalways sonatype/nexus3
命令中的 -v /root/data/nexus:/nexus-data 是将 Nexus 的数据目录映射到本地nexus 目录需要给编辑的权限8082 端口的映射目的是为了推送 docker 镜像。2、执行下面命令开放端口。firewall-cmd --zonepublic --add-port8081/tcp --permanent
firewall-cmd --reload
3、构建完后需要等几十秒到几分钟不等程序有一个初始化的过程然后访问 http://ip:8081 可以出现下图界面4、根据弹窗的提示在映射的目录 /root/data/nexus 中找到 admin.password 中的内容就可以正常登录了。NuGet1、在 Repositories 功能中创建 NuGet 的私有仓库 NuGetTest ,仓库模板选择 nuget(hosted) 。2、在 VS2019 中创建一个 NugetTest 的类库项目在项目上点击右键→打包在项目的 bin/Debug 目录中会生成 NugetTest.1.0.0.nupkg 文件。3、点击「admin」→「NuGet API Key」在该功能界面获取 key 这个 key 在推送 NuGet 包时需要用到。4、将 nuget.exe 程序文件也放到 bin/Debug 目录中然后打开命令行进入到该目录执行下面命令进行包的推送。nuget.exe push NugetTest.1.0.0.nupkg dab3d4df-1eec-36e0-9b75-09b5b4b0ac41 -source http://10.211.55.6:8081/repository/NuGetTest
推送成功如下图5、在 VS2019 中的 NuGet 包管理器中添加源。6、在引用时选择添加的 NuGetTest 源如下图Maven1、在 Repositories 功能中创建 Maven 的私有仓库 MavenTest ,仓库模板选择 maven(hosted)Deployment policy 需要设置为 Allow redeply否则在推送时会报 400 的错误。2、在 Maven 的配置文件 /apache-maven-3.6.3/conf/settings.xml 中的 Servers 节点添加 Server 配置如下serveridreleases/idusernametest/usernamepassword000000/password
/server
username 和 password 是在 Nexus 中创建的测试账户id 需要和 Maven 项目中的 pom.xml 文件中配置的 id 一致。3、在 IntelliJ IDEA 中创建 Maven 项目 MavenTest在项目中的 pom.xml 文件中添加如下内容distributionManagementrepositoryidreleases/idnamereleases/nameurlhttp://10.211.55.6:8081/repository/MavenTest//url/repository
/distributionManagement
id和上面的 settings.xml 文件中的 id 一致即可url在 Nenux 中创建的 Maven 仓库的地址。4、因为仓库创建的是 Release 版本的如果 pom.xml 文件的 version 中包含 SNAPSHOT 需要删除否则在推送时会报 400 的错误。5、在 IDEA 工具的 Maven 模块中进行 depoly 。6、推送成功后在 Nexus 中可以看到如下内容7、创建一个 spring boot 的项目并修改 pom.xml 文件在 dependencies 节点添加依赖并添加 repositories 配置如下dependenciesdependencygroupIdorg.example/groupIdartifactIdMavenTest/artifactIdversion1.0/version/dependency
/dependencies
repositoriesrepositoryidreleases/idnamereleases/nameurlhttp://10.211.55.6:8081/repository/MavenTest//urlreleasesenabledtrue/enabled/releasessnapshotsenabledfalse/enabled/snapshots/repository
/repositories
8、在 IDEA 中的 build 模块中进行同步就可以将 maven 包拉取到项目中。NPM1、在 Repositories 功能中创建 npm 的私有仓库 NpmTest ,仓库模板选择 npm(hosted)Deployment policy 需要设置为 Allow redeply否则在推送时会报 400 的错误。2、使用 vue 创建一个项目 nexus-test 。3、使用下面命令进行本地注册后面的地址为创建的 npm 私有库的地址。npm config set registry http://10.211.55.6:8081/repository/NpmTest/
4、想要将自己的 npm 包推送到私有仓库中需要先使用下面的命令进行登录。npm login –registryhttp://10.211.55.6:8081/repository/NpmTest/
5、修改 vue 项目根目录中的 package.json 文件将 private 设置为 false 版本号 version 根据需要进行修改。6、在 Nexus 的 Realms 模块进行设置将 npm Bearer Token Realm 选到右边的 Active 栏中此处不设置在推送时会出现 401 的错误。7、执行下面命令进行包的推送npm publish --registryhttp://10.211.55.6:8081/repository/NpmTest
8、创建一个新的 vue 项目 nexus-test1 来进行私有仓库的使用先进行仓库地址的注册。npm config set registry http://10.211.55.6:8081/repository/NpmTest/
9、执行 npm install nexus-test 进行包的安装安装成功如下图Docker1、在 Repositories 功能中创建 docker 的私有仓库 DockerTest ,仓库模板选择 docker(hosted) 。勾选 http设置端口为 8082 此处的端口为创建 Nexus 容器时设置的 8082 端口 勾选允许匿名拉取镜像勾选运行客户端通过 API 访问。2、在 Nexus 的 Realms 模块进行设置将 Docker Bearer Token Realm 选到右边的 Active 栏中。3、在 CentOS 7 系统中安装 Docker 然后再 /etc/docker/ 目录中创建 daemon.json 文件内容如下{insecure-registries: [10.211.55.6:9999]
}
4、执行下面命令进行配置的加载。systemctl daemon-reload
systemctl restart docker
5、在 root 目录中创建 nexus-docker 目录目录中创建 Dockerfile 文件用来构建一个新的镜像内容如下FROM nginx:latest
COPY . /usr/share/nginx/html/
EXPOSE 80
CMD [nginx, -g, daemon off;]
6、执行下面命令进行镜像的构建和推送到服务端。# 构建镜像
docker build -t nexus-docker .
# 将镜像 tag 成服务端的地址
docker tag nexus-docker-test:latest 10.211.55.6:8082/nexus-docker-test:latest
# 进行登录
docker login -u test -p 000000 10.211.55.6:8082
# 推送镜像
docker push 10.211.55.6:8082/nexus-docker-test:latest
操作成功如下图所示7、使用镜像的时候只要服务器进行了第三步中的地址注册就可以使用 docker pull 10.211.55.6:8082/nexus-docker-test:latest 进行镜像拉取。希望本文对您有所帮助