使用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华体会最新官方网站
在你的Bitbucket管道中包含JFrog产品的7个hth华体会最新官方网站原因
JFrog产hth华体会最新官方网站品在你的Bitbucket管道允许你:
- 收集并发布你的npm构建信息到Artifactory。
- 一旦您将构建信息发布到Artifactory,就可以轻松地跟踪构建。
- 获得使用的依赖项的可见性。
- 生成关于构建环境的信息。
- 扫描构建以查找潜在的漏洞和许可证违反JFrog x光。
- 将构建提升到生产环境。
- 分配您的构建工件JFrog Bintray。
事情是这样的。
JFrog产品是如何整合到Bitbuhth华体会最新官方网站cket管道中的?

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

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

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

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

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

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