SAP 电商云 Spartacus UI CI 脚本分析

简介: SAP 电商云 Spartacus UI CI 脚本分析

分析入口,打开这个 build:有一个 build id

能查看到 Travis 上这个 build 有很多 job 组成:

我们查看其中名叫 E2E regression tests for B2B 的 job:

这个 job 定义在 .travis.yml 文件的 jobs 区域里:

我们在 travis 上点击这个 job 的超链接,打开 job 明细页面:

https://app.travis-ci.com/github/SAP/spartacus/jobs/553015336

往下就能查看这个 job 的执行日志了:

我们逐行分析。

发现 client 和 server 都使用了 docker engine 的社区版。

用命令行下载 Chrome,克隆 Spartacus 代码库:

Setting environment variables from repository settings

$ export ARTIFACTS_BUCKET=[secure]
$ export ARTIFACTS_KEY=[secure]
$ export ARTIFACTS_SECRET=[secure]
$ export CYPRESS_KEY=[secure]
$ export SONAR_TOKEN=[secure]
$ export SPA_ENV=[secure]
$ export CYPRESS_CONFIG=cypress.ci.json
$ export LHCI_GITHUB_APP_TOKEN=[secure]

这些标注了[secure] 的都是维护在 Github 代码仓库上的隐私数据,只有指定权限的 admin 才能查看。


最终执行的是下列的命令:


export CYPRESS_CONFIG=cypress.ci.b2b.json && export SPA_ENV=‘ci,b2b’ && ./ci-scripts/e2e-cypress.sh -s b2b

依次开始执行这个脚本文件里的命令行:

脚本文件的第一行语句:

#!/usr/bin/env bash


什么是 bash?


Bash 是 GNU 项目的 shell——Bourne Again SHell。 这是一个与 sh 兼容的 shell,它结合了 Korn shell (ksh) 和 C shell (csh) 的有用功能。 它旨在符合 IEEE POSIX P1003.2/ISO 9945.2 外壳和工具标准。 它为编程和交互使用提供了对 sh 的功能改进。 此外,大多数 sh 脚本无需修改即可由 Bash 运行。


那么 sh 又是指什么?


在类 Unix 操作系统上,sh 是 Bourne shell 的命令名称,它是 Unix 和许多类 Unix 操作系统(包括 Linux)的标准命令语言解释器。


Bourne shell 的概念?


Bourne shell 最初由 AT&T 的 Steven Bourne 开发,经常用于编写脚本。 Bourne shell 在 Linux 或 Unix 提示符下通过运行 bsh 或 sh 命令来执行。


GNU 是一种操作系统,它是自由软件——也就是说,它尊重用户的自由。 GNU 操作系统由 GNU 软件包(由 GNU 项目专门发布的程序)以及第三方发布的免费软件组成。 GNU 的发展使得在没有软件会践踏您的自由的情况下使用计算机成为可能。


GNU 代表 GNU’s not Unix,这使得该术语成为递归首字母缩略词(其中一个字母代表首字母缩略词本身的首字母缩略词)。

相关文章
|
5月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
5月前
|
监控 测试技术
SAP 电商云修改 Product Catalog Staged 版本数据后,同步到 online 版本的 UI 操作
SAP 电商云修改 Product Catalog Staged 版本数据后,同步到 online 版本的 UI 操作
|
5月前
|
存储 监控 数据库
SAP 电商云 product catalog 从 staged 到 online 两个版本之间的同步
SAP 电商云 product catalog 从 staged 到 online 两个版本之间的同步
|
5月前
|
监控 安全 数据管理
SAP 电商云 Product catalog 的 staged 和 online 两种版本的设计理念
SAP 电商云 Product catalog 的 staged 和 online 两种版本的设计理念
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
|
5月前
|
网络架构 开发者 UED
Spartacus 2211 的 provideOutlet 方法扩展 UI
Spartacus 2211 的 provideOutlet 方法扩展 UI
Spartacus 2211 的 provideOutlet 方法扩展 UI
|
5月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
5月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
5月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
|
5月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
下一篇
无影云桌面