跳转到内容
个人的见解
作者的资料照片Si万博新体育手机客户端ddarth Pugazhendi

斯巴达克斯部署自动化使用AWS CodePipeline

简介

Spartacus是下一代加速器,是SAP Commerce Cloud中传统的基于JSP的加速器店面的替代品。现在它已经达到了版本3+,随着每一个版本的发布,它变得越来越成熟,现在被更多的客户项目所采用。目前关于在云平台上部署斯巴达克斯的信息还不多。因此,我做了一个小型POC,在一个云平台(AWS)上部署Spartacus,并探索了如何自动化部署。我的博客讨论了如何实现这一目标的一些步骤。

这个设置的用处

目前唯一可用的云设置是通过Azure中的SAP Commerce cloud订阅,通常用于客户项目。它有它的公平份额的挑战,其中一些列在下面

  • 带有后端SAP Commerce代码的单一代码存储库
  • 没有独立的构建和部署管道,导致较慢的发布周期,通常与后端代码一起部署
  • 最后,SAP Commerce云门户中没有自动代码构建和部署

在SAP Commerce Cloud之外独立部署Spartacus将减轻上述对云服务额外成本的担忧。拥有我们自己的云设置有许多优势,比如它可以用作整个团队的学习、POC和演示目的的沙盒。

POC的架构

我的POC使用以下组件

  • 用于托管的AWS S3 Bucket
  • 用于部署代码的AWS代码管道和构建
  • AWS代码提交用于检测存储库中的代码更改

然而,更多的组件如

  • CloudFront作为CDN
  • 自定义域路由53

可以按照下面的架构添加吗

实现斯巴达克斯自动化部署的步骤

代码设置

在你的本地机器上安装斯巴达克斯根据来自这个页面。

将Spartacus代码提交到基于Git的代码存储库中。

还要创建并提交一个名为buildspec.yaml附以下内容。一定要更换(SpartacusAppName)用你自己的斯巴达克斯软件名

Version: 1.0 phase: install: commands: echo installing nodejs…- curl - sl https://deb.nodesource.com/setup_12.x | bash - apt-get install -y nodejs - echo installing yarn…- curl - ss https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn. zip列出apt install——no-install- recommended yarn pre_build: commands: echo installing dependencies…- NPM I -g @angular/cli - NPM install build: commands: ## -回声建筑…- ng build——prod artifacts: files: - "**/*" discard-paths: no base-directory: dist/[SpartacusAppName]

AWS S3 Bucket设置

我利用AWS S3桶来托管Spartacus,因为它是一个Angular应用程序。在离您最近的区域创建S3 Bucket阻止所有公共访问如下

一旦您创建了桶->转到权限,单击编辑桶策略并粘贴以下内容。

{"Version": "2012-10-17", "Id": "Policy1607422534880", "Statement": [{"Sid": "Stmt1607422532941", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::{yourbucketname}/*"}]}

使用以下设置启用静态网站托管,并单击保存。注意桶网站端点,一旦设置完全完成,将用于斯巴达克斯。

AWS CodePipeline设置

我正在使用AWS CodePipeline来设置斯巴达克斯的构建和部署管道。

从AWS菜单打开CodePipeline,并根据屏幕截图和设置创建一个管道

链接你的代码库与AWS在这里,如果连接还不存在,你需要使用连接到比特桶功能来配置一个新的连接。

下一个阶段是指定构建工具,你可以使用CodeBuild(推荐)或Jenkins。还需要创建一个新项目。

新项目需要以下设置。我更喜欢Ubuntu作为构建工具的操作系统。使用下面的运行时配置并创建一个项目。

在Deploy阶段,选择将提供程序部署为Amazon S3。之前创建的桶应该链接到这里。

单击next,您可以检查代码管道设置,然后点击创建管道。

斯巴达克斯部署

一旦您创建了管道,AWS将自动执行该管道。每当将代码更改推入代码回购时,该管道将自动重新运行以部署任何新更改。

要查看日志,您需要单击Build部分中的AWS CodeBuild链接,将显示Spartacus部署的完整步骤日志。总共只需要5分钟就可以完成。

现在单击S3 Bucket公共链接以访问Spartacus。

它的工作原理!

结论

由于缺乏文档,在SAP Commerce Cloud之外独立部署Spartacus和自动化该过程目前还不太清楚,本博客为这个过程提供了一个很好的起点。

参考文献

  1. 斯巴达克斯官方文件
  2. 斯巴达克斯代码存储库设置
  3. 在AWS S3中部署Angular应用
  4. 使用AWS CodePipeline进行自动化部署

指定的标签

      第一个留下评论
      你一定是登录评论:评论或回复一篇文章