EC2 reboot for software install during CI via custom pipeline step

18 Views Asked by At

I have a Windows desktop app that I am writing a CI process for on AWS and am looking for some architecture advice regarding my pipeline. The application requires a reboot to install due to some low level device driver and registry modifications.

My goal is to have CI do the following:

  1. spin up a new Windows EC2
  2. run an install script of the software
  3. reboot
  4. run some custom scripts for integration testing
  5. persist the EC2 so I can RDP in to examine things if required

I have a scheduled script that will tear the instance down after a period.

Currently, I have CodePipeline, CodeBuild and CodeDeploy working to create my Windows EC2, and I can install my app via a startup script. However, I would like some advice on how to proceed with the restart and if the above CICD tools offer any specific tooling for this - or will I require a custom pipeline step?

Additionally, I originally planned to just run the install and integration tests in the buildspec.yml but the required restart made me think this is not possible, hence the custom EC2 setup. I run unit tests in the buildspec.yml currently that does not require the full install. Is this correct?

0

There are 0 best solutions below