使用Atlassian Bitbucket Pipeline和JFrog CLI容器化节点微服务

Atlassian提供的工具可以帮助开发团队更有效地协作并快速交付软件。Atlassian在2016年引入了Bitbucket pipeline,以无缝的方式自动化与git存储库的持续集成。作为 Bitbucket都管道 已经成熟了,我们已经看到越来越多的客户利用它轻松地将CI/CD集成到Bitbucket git存储库中的能力,并使用它的 广泛的集成集 扩展他们的工作流程。
使用源代码和工作流的Atlassian方式是对JFrog Artifactory作为一个存储库管理器。多年来,Atlassian一直是JFrog的重要合作伙伴,在几个集成点上,包括最关键的,使用能力JFrog Artifactory作为Git大文件存储库(LFS)在一起Bitbucket都LFS。
在这篇博文中,我们将展示如何使用Bitbucket Pipeline和JFrog产品以一种高度可扩展的方式来容器化和分发节点应用程序。hth华体会最新官方网站
将JFrog产品纳入Bitbucket管道的7个原因hth华体会最新官方网站
JFrog产hth华体会最新官方网站品在您的Bitbucket管道允许您:
- 收集并发布你的npm构建信息到Artifactory。
- 一旦将构建信息发布到Artifactory,就可以轻松地跟踪构建。
- 获得所使用依赖项的可见性。
- 生成有关构建环境的信息。
- 扫描您的构建,以查找潜在的漏洞和许可证违规JFrog x光。
- 将构建提升到生产环境。
- 分发您的构建工件JFrog Bintray。
这是怎么做的。
JFrog产品是如何集成到Bitbuhth华体会最新官方网站cket管道中的?

该图显示了JFrog产品如何集成到Bitbucket管道中以创hth华体会最新官方网站建容器化节点应用程序:
- 当使用JFrog Artifactory作为存储库管理器时,Bitbucket管道将构建和测试流程自动化。
- 然后,JFrog Xray扫描包中的漏洞。
- JFrog Bintray继续分发离目标位置最近的图像。
使用JFrog CLI轻松集成到Bitbucket管道中
首先,我们将使用JFrog CLI将Bitbucket Pipeline与JFrog Artifactory, JFrog Xray和JFrog Bintray集成,然后我们将继续自动化整个过程。
先决条件
在我们开始之前,请确保您完成以下内容:
- 安装JFrog CLI,使用如下命令:
$ curl -fLhttps://getcli.jfrog.io|上海 - 配置您的环境(可选,但推荐):
- 下载并安装NPM客户端。
- 下载并安装Docker客户端。
- 下载Artifactory版本5.5.2及以上。
- 下载x光。
- 创建一个存储库Bintray。
步骤1:克隆你的项目
你可以克隆npm项目。在我们的示例中,我们克隆了pipeline-docker-artifactory使用下面的Git命令创建一个项目。
git美元克隆https://bitbucket.org/JfrogDev/pipeline-docker-artifactory
步骤2:使用JFrog CLI配置Artifactory
您所要做的就是运行以下命令。
$jfrog rt config
继续修改您的Artifactory服务器名称、URL、Artifactory用户名和密码,如下所示。
$jfrog rt config——url $ARTIFACTORY_URL——user $ARTIFACTORY_USER——apikey
ARTIFACTORY_PASSWORD美元——互动假
步骤3:安装npm包
运行以下命令npm安装命令它指的是NPM虚拟仓库作为依赖项的源。
该命令安装项目,并引用npm存储库作为源代码。
$jfrog rt npm-virtual——build-name=pipeline-docker-artifactory——build-number=1
是时候生成一些信息了。我们建议使用以下方式添加Git VCS的详细信息build-add-git命令。
$jfrog rt bag pipeline-docker-artifactory
还可以使用以下方法收集环境变量build-collect-env命令。
$jfrog rt bce pipeline-docker-artifactory
步骤4:发布npm包
如果你已经有了npm脚本,我们建议你重命名包中已有的预发布和发布后脚本。json文件。当 npm-publish 命令运行时,JFrog CLI将运行 包 命令,而不是标准的发布命令。如果你的npm包包含预发布或 postpublish 脚本,将它们重命名为 预先包装 和 postpack ,分别。
的NPM发布命令打包并部署NPM包到你的Artifactory中的npm库。您还可以添加可选的标志。例如:将软件包上传到其他服务器服务器id国旗。
要发布包,请运行以下命令。
jfrog美元npm-virtual——build-name=pipeline-docker-artifactory——建立若干= 1
npm包现在会显示在Artifactory中。

步骤5:构建Docker映像
配置码头工人注册表在人工工厂里反向代理。或者,您可以使用newproxyless非生产设置的选项。
确保Docker客户端和Artifactory码头工人注册表如果配置正确,运行以下命令来拉出hello-world Docker映像,然后将其推送到Artifactory。
$docker login $docker拉hello-world$docker tag hello-world:latest /hello-world:latest $docker push /hello-world:最新的
在成功部署到Artifactory之后,现在可以使用JFrog CLI将图像层推入Artifactory。
在docker镜像中打包你的节点微服务。
$docker build -t /node-version:latest
测试新创建的docker映像。
$docker run -d -p 3000:3000 /node-version:latest
类型https://localhost:3000/在浏览器中。您将看到如下所示的页面。

注意:在构建Docker映像时Docker推送命令将映像层部署到Artifactory服务器并收集构建信息。
要将映像和构建信息推送到Artifactory,请运行Docker Push镜像CLI命令。
jfrog美元命令dp my-docker-registry。io /节点信息docker-repo——打造了品牌= pipeline-docker-artifactory建造编号= 1
现在我们准备将构建信息传递给Artifactory。
运行以下build publish命令。
1 .执行以下命令
在运行build publish命令之后,您可以查看构建信息,并在Artifactory中发布模块和环境变量。

第六步:扫描你的构建
JFrog x光与Artifactory合作,在应用程序生命周期的任何阶段执行二进制软件组件的通用分析。通过扫描二进制组件及其元数据,递归地遍历任何级别的依赖关系,Xray提供了前所未有的可见性,可以发现潜伏在组织中任何位置的组件中的问题。
要使用x射线扫描构建,请配置新手表用于如下构建。

建议添加一个行动去看表。单击Add Action可以选择多个操作。
JFrog CLI通过JFrog Artifactory与JFrog Xray集成,允许您扫描构建工件和依赖项以查找漏洞和其他问题。此集成需要JFrog Artifactory v4.16及以上版本和JFrog Xray v1.6及以上版本。
要扫描构建,请使用以下命令。
$jfrog rt bs pipeline-docker-artifactory
步骤7:促进构建
构建提升通常在测试或构建扫描之后使用,可以选择将构建工件及其依赖项移动或复制到目标存储库。
在扫描构建后,使用build promote命令在Artifactory中提升构建。您可以向该命令添加一些可选标志。例如,-comment和-status标志。
要提升构建,运行以下命令。
jfrog美元1 docker-repo——status="已启动"——复制= true
参见Artifactory中的提升构建。
步骤8:分发构建
构建分发通常用于将构建从Artifactory部署到Bintray,并在指定的相应Artifactory发行库中创建一个条目。
使用构建分发命令在提升构建之后,将构建工件从Artifactory分发到Bintray。您可以向该命令添加一些可选标志。例如,-publish和-override标志。
要提升构建,运行以下命令。
该命令是指NPM发布库作为构建分发的目标。
jfrog美元1 .发行版-仓库
这是Bintray中的分布式构建。

恭喜你!
您已经成功地将您的节点微服务Docker镜像手动部署到Bintray。
现在让我们使用Bitbucket管道自动化这个过程。
使用Bitbucket管道自动化构建
- 复制bitbucket-pipelines.yml文件到Bitbucket中npm项目代码的根目录,并启用Bitbucket管道。
你用Java吗?
下面的示例向您展示了如何使用Bitbucket管道和JFrog CLI将Java微服务容器化。
https://bitbucket.org/JfrogDev/pipeline-java-artifactory/src/master/
通过订阅免费开始JFrog人工云在AWS市场,开始云试验通过JFrog,或者开始JFrog Artifactory试验
