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,這使得該術語成為遞歸首字母縮略詞(其中一個字母代表首字母縮略詞本身的首字母縮略詞)。
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP 电商云 Spartacus UI CI 脚本分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Travis CI 一些专用术语介绍
- 下一篇: keg空调是什么牌子(Definitio