共计 1330 个字符,预计需要花费 4 分钟才能阅读完成。
剖析入口,关上这个 build:有一个 build id
能查看到 Travis 上这个 build 有很多 job 组成:
咱们查看其中名叫 E2E regression tests for B2B 的 job:
这个 job 定义在 .travis.yml 文件的 jobs 区域里:
咱们在 travis 上点击这个 job 的超链接,关上 job 明细页面:
https://app.travis-ci.com/git…
往下就能查看这个 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,这使得该术语成为递归首字母缩略词(其中一个字母代表首字母缩略词自身的首字母缩略词)。
更多 Jerry 的原创文章,尽在:” 汪子熙 ”: