设置:
- 合并到主 codefresh 构建作业后,构建映像并将其推送到 docker 注册表
- Codefresh 测试运行作业拾取新图像并运行测试
- 在测试运行 CF 作业结束时,诱惑报告构建步骤运行
结果:仅当作业一直通过管道运行时,第 3 步才会在标题中显示消息失败 如果我手动重新运行作业,则可以正常运行(在这种情况下不执行第 1、2 步)
注意:手动添加该标签没有帮助
测试执行管道:
阶段:
- “克隆”
- “创造”
- “跑”
- “get_results”
- “清理”
脚步:
克隆:
标题:“克隆存储库”
类型:“git克隆”
回购:“回购/回购”
# CF_BRANCH 值在管道触发时自动设置
修订:“${{CF_BRANCH}}”
混帐:“github”
阶段:“克隆”
创造:
标题:“在 aws 上启动 ec2 服务器”
图片:中间层/aws-cli
working_directory: "${{clone}}" # 在克隆代码的地方运行命令
命令:
- 导出 AWS_ACCESS_KEY_ID="${{AWS_ACCESS_KEY_ID}}"
- 导出 AWS_SECRET_ACCESS_KEY="${{AWS_SECRET_ACCESS_KEY}}"
- 导出 AWS_DEFAULT_REGION="${{AWS_REGION}}"
- aws cloudformation create-stack --stack-name yourStackName --template-body file://cloudformation.yaml --parameters ParameterKey=keyName,ParameterValue=qaKeys
阶段:“创造”
跑:
标题:“等待结果”
图片:中间层/aws-cli
working_directory: "${{clone}}" # 在克隆代码的地方运行命令
命令:
# 在 s3 中等待结果
- APK更新
- APK升级
- apk 添加 bash
- 导出 AWS_ACCESS_KEY_ID="${{AWS_ACCESS_KEY_ID}}"
- 导出 AWS_SECRET_ACCESS_KEY="${{AWS_SECRET_ACCESS_KEY}}"
- 导出 AWS_DEFAULT_REGION="${{AWS_REGION}}"
- chmod +x ./wait-for-aws.sh
- ./wait-for-aws.sh
# 从 s3 复制结果 ojbects
- aws s3 cp s3://${S3_BUCKETNAME}/ ./ --recursive
- cp -r -f ./_result_/allure-raw $CF_VOLUME_PATH/allure-results
- 猫测试结果.txt
阶段:“运行”
获取结果:
标题:生成测试报告
图片:codefresh/cf-docker-test-reporting
标签:“${{CF_BRANCH_TAG_NORMALIZED}}”
工作目录:'${{CF_VOLUME_PATH}}/'
环境:
- BUCKET_NAME=你的名字
- CF_STORAGE_INTEGRATION=integrationName
阶段:“get_results”
清理:
标题:“从 s3 中删除 cf 堆栈和文件”
图片:中间层/aws-cli
working_directory: "${{clone}}" # 在克隆代码的地方运行命令
命令:
# 在 s3 中等待结果
- APK更新
- APK升级
- apk 添加 bash
- 导出 AWS_ACCESS_KEY_ID="${{AWS_ACCESS_KEY_ID}}"
- 导出 AWS_SECRET_ACCESS_KEY="${{AWS_SECRET_ACCESS_KEY}}"
- 导出 AWS_DEFAULT_REGION="${{AWS_REGION}}"
# 删除栈
- aws cloudformation 删除堆栈 --stack-name 堆栈名称
# 从 s3 中删除所有文件
# - aws s3 rm s3://bucketName --recursive
阶段:“clean_up”```