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

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

这是怎么做的。

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

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

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

  1. 当使用JFrog Artifactory作为存储库管理器时,Bitbucket管道将构建和测试流程自动化。
  2. 然后,JFrog Xray扫描包中的漏洞。
  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. 配置您的环境(可选,但推荐):

步骤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脚本进行必要的修改
如果你已经有了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中。

工厂中的NPM包

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

Jfrog在浏览器中

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

build_browser

第六步:扫描你的构建

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

在Bintray中分发build

恭喜你!
您已经成功地将您的节点微服务Docker镜像手动部署到Bintray。

现在让我们使用Bitbucket管道自动化这个过程。

使用Bitbucket管道自动化构建

你用Java吗?
下面的示例向您展示了如何使用Bitbucket管道和JFrog CLI将Java微服务容器化。
https://bitbucket.org/JfrogDev/pipeline-java-artifactory/src/master/

通过订阅免费开始JFrog人工云在AWS市场,开始云试验通过JFrog,或者开始JFrog Artifactory试验