个人的见解
斯巴达克斯部署自动化使用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,并根据屏幕截图和设置创建一个管道
下一个阶段是指定构建工具,你可以使用CodeBuild(推荐)或Jenkins。还需要创建一个新项目。
新项目需要以下设置。我更喜欢Ubuntu作为构建工具的操作系统。使用下面的运行时配置并创建一个项目。
在Deploy阶段,选择将提供程序部署为Amazon S3。之前创建的桶应该链接到这里。
单击next,您可以检查代码管道设置,然后点击创建管道。
斯巴达克斯部署
一旦您创建了管道,AWS将自动执行该管道。每当将代码更改推入代码回购时,该管道将自动重新运行以部署任何新更改。
要查看日志,您需要单击Build部分中的AWS CodeBuild链接,将显示Spartacus部署的完整步骤日志。总共只需要5分钟就可以完成。
现在单击S3 Bucket公共链接以访问Spartacus。
它的工作原理!
结论
由于缺乏文档,在SAP Commerce Cloud之外独立部署Spartacus和自动化该过程目前还不太清楚,本博客为这个过程提供了一个很好的起点。