我目前使用Cypress作为我的测试工具,并且在 gitlab ci 上运行它时遇到了一个小问题。
我的 Cypress 测试的一部分目前使用敏感的信用卡信息,所以当我将它上传到 gitlab 存储库时,我不得不尝试找出一种方法来防止任何人查看所说的“敏感信息”。最终,我尝试利用 Gitlabs 方便的“秘密变量”功能。
在设置了所有需要隐藏的变量后,我进入了 gitlab-ci.yml 文件并进行了设置,以便 .gitlab-ci.yml 文件创建一个名为“cypress/support/PaymentCredentials.yml”的新文件。 js”,并且在该文件中,所有敏感的付款信息都将存储为 javascript 变量(如下所示)
image: bahmutov/cypress-image
# caching node_modules folder
# https://about.gitlab.com/2016/03/01/gitlab-runner-with-docker/
cache:
paths:
- node_modules/
before_script:
- cypress verify
- "echo -e \"export default {CARDHOLDER_NAME: '$CARDHOLDER_NAME', CARD_CC: '$CARD_CC', CARD_CC_MONTH: '$CARD_CC_MONTH', CARD_CC_YEAR: '$CARD_CC_YEAR', CARD_CC_CCV: '$CARD_CC_CCV'}\" > cypress/support/PaymentCredentials.js"
stages:
- build
- test
build-specs:
stage: build
script:
- npm install
artifacts:
paths:
- cypress/integration
.job_template: &e2e_test_definition
script:
- echo $CARDHOLDER_NAME
- export $CARDHOLDER_NAME …Run Code Online (Sandbox Code Playgroud) continuous-integration unit-testing gitlab gitlab-ci cypress