制品库有什么好处
制品库的好处是:1. 可以进行版本控制;2. 可以与云上的代码仓库、持续集成、持续部署无缝衔接;3. 支持使用制品扫描,及时检测可疑漏洞。制品生产流程具备标准化、可追溯能力,是现代化企业制品开发过程中的必备能力。

一、 制品库概述
软件制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件,这些文件通常可以直接运行在服务器上,用以支撑应用运行。
CODING 制品库是 CODING DevOps 的子产品,用以管理源代码编译后的构建产物,支持 Docker、Maven、Helm、npm 包等常见制品库类型,制品库可以跟源代码协同进行版本化控制,可以与本地各构建工具和云上的持续集成,持续部署无缝结合,并支持漏洞扫描等特性。为研发团队提供优质高效的构建物管理服务,把控构建物质量。
二、 制品库层级
制品仓库的层级关系主要分为三层,依次为仓库 > 包 > 版本,每个层级描述如下:
仓库:用于管理不同类型的仓库和仓库下的包资源,可以设置仓库对外的访问权限。
包:构建产物对外提供访问的基础单元,用于介绍当前构建产物的用途和使用指引。
版本:列出某个包下的所有构建产物,详细记录了每次构建产物的版本迭代更新变化。
三、 制品库部署
测试环境使用Docker安装部署
docker run -id
–privileged=true –name=nexus3
-p 8081:8081
-v ${LOCALDIR}/nexus3/nexus-data:/nexus-data
sonatype/nexus3:3.20.1
安装完成后默认的admin账号密码存储在了数据目录,获取初始化密码后更新账号密码。
四、 如何上传制品
步骤:获取Jar包名称、读取pom文件、获取坐标信息、使用mvn deploy上传。
def jarName = sh returnStdout: true, script: “cd target;ls *.jar”
jarName = jarName – “n”
def pom = readMavenPom file: ‘pom.xml’
pomVersion = “${pom.version}”
pomArtifact = “${pom.artifactId}”
pomPackaging = “${pom.packaging}”
pomGroupId = “${pom.groupId}”
println(“${pomGroupId}-${pomArtifact}-${pomVersion}-${pomPackaging}”)
def mvnHome = tool “M2”
sh “””
cd target/
${mvnHome}/bin/mvn deploy:deploy-file -Dmaven.test.skip=true
-Dfile=${jarName} -DgroupId=${pomGroupId}
-DartifactId=${pomArtifact} -Dversion=${pomVersion}
-Dpackaging=${pomPackaging} -DrepositoryId=maven-hostd
-Durl=http://192.168.1.200:30083/repository/maven-hostd
“””
最后,推荐我们的管理工具给大家。

