使用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管道允许你:

  1. 收集并发布你的npm构建信息到Artifactory。
  2. 一旦您将构建信息发布到Artifactory,就可以轻松地跟踪构建。
  3. 获得使用的依赖项的可见性。
  4. 生成关于构建环境的信息。
  5. 扫描构建以查找潜在的漏洞和许可证违反JFrog x光。
  6. 将构建提升到生产环境。
  7. 分配您的构建工件JFrog Bintray

事情是这样的。

JFrog产品是如何整合到Bitbuhth华体会最新官方网站cket管道中的?

JFrog的产品是如何整合到hth华体会最新官方网站Bitbucket管道中的?

下图显示了如何将JFrog产品集成到Bitbucket管道中,hth华体会最新官方网站以创建容器化的节点应用程序:

  1. Bitbucket管道自动化构建和测试流程,同时使用JFrog Artifactory作为存储库管理器。
  2. 然后JFrog x射线扫描包的漏洞。
  3. JFrog Bintray继续分发最接近目标位置的图像。

使用JFrog CLI轻松集成到Bitbucket管道

首先,我们将使用JFrog CLI将Bitbucket Pipeline与JFrog Artifactory、JFrog Xray和JFrog Bintray集成,然后我们将继续自动化整个过程。

先决条件

在我们开始之前,请确保完成以下内容:

  1. 安装JFrog CLI,使用以下命令:
    $ curl -fLhttps://getcli.jfrog.io|上海
  2. 配置您的环境(可选,但推荐):

第一步:克隆你的项目

你可以克隆你的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脚本进行必要的更改
如果你已经有了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中。

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/在浏览器中。您将看到如下所示的页面。

Jfrog浏览器

注意:在构建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中发布模块和环境变量。

build_browser

步骤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中的分布式构建。

分发构建在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的试用