设置:
- 合并到主 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”```