使用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华体会最新官方网站理由

你的Bitbhth华体会最新官方网站ucket管道中的JFrog产品允许你:

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

事情是这样的。

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

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

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

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

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

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

先决条件

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

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

步骤1:克隆您的项目

你可以克隆你的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管道-码头-artifactory

还可以使用以下方法收集环境变量build-collect-env命令。

(1)

步骤4:发布npm包

重要的是:对现有的npm脚本进行必要的更改
如果你已经有了npm脚本,我们建议重命名包中现有的预发布和后发布脚本。json文件。当 npm-publish 命令运行时,JFrog CLI运行 命令,而不是标准的发布命令。如果你的npm包包含prepublish或 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与一个反向代理.或者,您可以使用新的proxyless非生产设置选项。

确保Docker客户端和Artifactory码头工人注册表正确配置后,运行以下命令来拉出hello-world Docker映像,然后将其推入Artifactory。

码头工人美元登录< artifactoryDockerRegistry >码头工人拉hello world美元/hello-world:latest . /hello-world:最新码头工人推动美元< artifactoryDockerRegistry > / 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映像时,码头工人推命令将映像层部署到Artifactory服务器并收集构建信息。

要将图像和构建信息推送到Artifactory,请运行码头工人推形象CLI命令。

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射线扫描构建,请配置新手表对于下面的构建。

扫描您的构建

建议添加行动的手表。通过单击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美元rt bpr pipeline-docker-artifactory 1 docker-repo——status=" staging "——复制= true

在Artifactory中查看推广的构建。促进建立在artifactory

步骤8:分发构建

构建分发通常用于将构建从Artifactory部署到Bintray,并在指定的相应Artifactory分发存储库中创建一个条目。

使用构建分布命令在推进构建之后,将构建工件从Artifactory分发到Bintray。您可以向命令中添加一些可选标志。例如,-publish和-override标志。

要提升构建,运行以下命令。

命令指的是npm分布存储库作为构建分发的目标。

jfrog美元Rt bd管道-码头-工厂1分配-回购

这是在Bintray中的分布式构建。

分发构建在Bintray

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

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

使用Bitbucket管道自动化构建

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

通过订阅免费开始AWS市场中的JFrog Artifactory云,开始通过JFrog进行云测试,或启动一个JFrog Artifactory的试用