制品是软件开发过程当中产生的多种有形副产品之一,我的理解,好比前端build后产生的dist静态资源文件,安卓打包生成的apk文件,这些产物均可以认为是制品。 制品的使用能够很是简单。 好比下面的流水线Job。 第一步拉代码,仓库中存在一个名为Dockerfile
的文件。 第二步把文件存为制品。html
#!groovy
pipeline {
agent any
stages {
stage('checkout') {
steps {
git 'https://git.dev.tencent.com/finley/angular-js.git'
archiveArtifacts 'Dockerfile'
}
}
}
}
复制代码
而后在Jenkins 构建页面中就能够直接查看和下载制品前端
参数:git
制品多了话须要管理,单靠Jenkins有点力不从心了,须要专门的制品管理软件,目前流行的有Nexus Repository OSS 和 Artifactory 他们都提供免费的社区版和收费的专业版,安装可使用Docker镜像,省时省力。docker
以Nexus为例,制品软件系统到底有啥用呢,经过官方文档,经过Nexus制品管理软件。有如下功能 能够方便的搭建使用本身的私有Docker仓库,Composer, NPM,Raw(任何文件格式) 等。 更好的文件分类,更好的角色权限控制 支持REST API 更好的备份恢复机制 因此我的以为大公司颇有必要创建的本身制品管理系统。浏览器
缺点: 本身搭建和维护,须要必定服务器运行成本缓存
制品管理软件详细的使用本文再也不展开,你们参照文档便可,大体流程是: 搭建制品仓库系统,Jenkins安装对应的插件,修改pipeline经过插件提供的指令上传制品到制品仓库。供系统项目或人员使用bash
若是只是为了Docker私有仓库,不用搭建Nexus,阿里云,腾讯云等公有云提供的有相似服务并且是免费的。服务器
最快的方法使ui
docker run -d --name nexus3 --restart=always \
-p 8081:8081 \
--mount src=nexus-data,target=/nexus-data \
sonatype/nexus3
复制代码
等待 3-5 分钟,若是 nexus3 容器没有异常退出,那么你可使用浏览器打开 http://YourIP:8081 访问 Nexus 了。阿里云
第一次启动 Nexus 的默认账号是 admin 密码是 经过 docker exec -it nexus3 cat /nexus-data/admin.password
获取,登陆之后点击页面上方的齿轮按钮进行设置。
建立一个私有仓库的方法: Repository->Repositories 点击右边菜单 Create repository 选择 docker (hosted)
Name: 仓库的名称 HTTP: 仓库单独的访问端口 Enable Docker V1 API: 若是须要同时支持 V1 版本请勾选此项(不建议勾选)。 Hosted -> Deployment policy: 请选择 Allow redeploy 不然没法上传 Docker 镜像。 其它的仓库建立方法请各位本身摸索,还能够建立一个 docker (proxy) 类型的仓库连接到 DockerHub 上。再建立一个 docker (group) 类型的仓库把刚才的 hosted 与 proxy 添加在一块儿。主机在访问的时候默认下载私有仓库中的镜像,若是没有将连接到 DockerHub 中下载并缓存到 Nexus 中。
详细内容请自行查看 Nexus 文档
help.sonatype.com/repomanager… jfrog.com/open-source… yeasy.gitbooks.io/docker_prac…