Test results upload from AWS code pipelines
To upload the test results from AWS code pipelines, you need to use allurectl.
Foreword
The aim of this chapter is to explain how AWS code pipelines could be integrated with Allure TestOps' workflows.
This chapter won't cover the peculiarities of AWS Code pipelines, and detailed description of AWS pipelines configuration as we believe AWS created high quality documentation covering their product.
Creation of a pipeline
In the Developer tools Code pipeline open Code pipelines and then Pipelines section.
Click Create pipeline.
Then either new or existing service role to be assigned
Add a repository with the code to your pipeline.
Add a build step with Build provider.
Either create a new CodeBuild project or select an existing one (in our example we'll create a new project).
When you create a new project, a new form will appear. In this window you need to set-up your new project:
- Add the name for your project (it seems he name has to be different from the pipeline name)
- Select the container image (OS, version with library set)
- Assign Service Role (you may use an existing one for CodeBuild, not to be confused with CodePipeline, or create a new one as in the example)
- Add other parameters specific for your build such as timeouts, resources, certificates etc.
Add environment variables required for the test results upload using allurectl
ALLURE_ENDPOINT
, the FQDN or IP address of your Allure TestOps instanceALLURE_TOKEN
, personal API token generated in a profile of a userALLURE_PROJECT_ID
, the ID of a project on ATO Allure TestOps side to send test results to.
About API token
API token
API token will be used by allurectl
running in a pipeline to authenticate / authorize your pipeline to upload the test results to Allure TestOps server.
Log in to Allure TestOps with the account you are going to use to upload test results.
Click on your avatar and go to Your profile.
In the section API tokens click a green button that says Create.
Name your API token and click Submit. Always give meaningful names to all the configuration parameters.
Allure will randomly generate the token and show you in modal window.
Copy the token and save it in a safe place as it cannot be retrieved by Allure TestOps means.
YAML spec
Next you need to specify the path to the AWS yaml specification.
- The default location is
/buildspec.yml
- you can specify other location if the yaml is not stored in the root of your repository
Then click on the CodeBuild button, the window will close and we'll be back at the Pipeline Creation page.
Choose what type of build you need, check that everything is in place and click Next.
Depending on your process you can either skip creating of the Deploy stage or set it up if a Deploy is needed, this is out of the scope of the integration with Allure TestOps.
Set up of the service role used for CodeBuild
From the main page open IAM section and proceed to Roles tab.
Search for the service role you are using in CodeBuild and select it for the editing.
You need to add the following 3 roles:
codebuild:BatchGetBuilds
codebuild:BatchGetBuildBatches
codepipeline:GetPipelineState
then specify for which resources these rules apply:
- all projects for codebuild
- all projects for codepipeline
Depending on your security policies the settings could be more granular.
Execute your pipeline and send test results to Allure TestOps
allurectl
allurectl
is to be used to upload the test results to Allure TestOps.
allurectl
is to be somehow added to the pipeline or can be downloaded to pipeline on some stage of a pipeline execution.