Your Second Release Workflow Execution

When you run the Release process with the correct SemVer format, AWSome Books project should be successfully delivered to AWS.

1. On your remote awsome-books repository, click Create a new release.

0001

2.

  • Select the Releases tab.
  • Expand the Choose a tag dropdown.
  • Enter with value v0.0.1.
  • Click Create new tag: v0.0.1.

0002

3. Scroll down to the bottom, click Publish release.

0003

4. A notification has been sent to the gha-release channel in your Slack Workspace, signaling that a Release workflow has been triggered.

0004

5. Go to AWS ECR console.

6. In the left sidebar,

  • Expand the Private registry dropdown.
  • Click Repositories.
  • Select awsome-books repository.

0004

7. After a short while, the GitHub Actions job responsible for publishing the image with the v0.0.1 tag to the AWS ECR repository will do it work.

0005

8. A notification has been sent to the aws-codedeploy channel in your Slack Workspace, signaling that a CodeDeploy deployment has been triggered.

00015

9. Go to AWS CodeDeploy console.

10. In the left sidebar,

  • Expand the Deploy - CodeDeploy dropdown.
  • Select Deployments.
  • Click the deployment ID that is in progress.

00011

11. You might notice that AWS CodeDeploy is deploying the replacement task set.

00012

12. Once the replacement task set has been deployed successfully, your traffic should to be directed to the newly created task set after some time. You may stop the current deployment and revert to the previous task set during that period, as your old task set should persist until the timeout has passed.

00013

13. Go to AWS API Gateway console.

14. In the left sidebar,

  • Select APIs.
  • Click awsome-books.

00013

15. Click Create resource.

00013

16. In the Resource details section,

  • For Resource path, enter /.
  • For Resource name, enter books.
  • Click Create resource.

00013

17. Click Create method.

00013

18. In the Method details section,

  • For Method type, select ANY.
  • For Integration type, select VPC link.
  • Turn on VPC proxy integration.

00013

  • For HTTP method, select ANY.
  • For VPC link, select [Use stage variable] and enter ${stageVariables.vpcLinkId}. You define the vpcLinkId stage variable after deploying the API to a stage and set its value to the ID of the VpcLink.
  • For Endpoint URL, enter the Network Load Balancer’s DNS name you have noted down in step 12 in 8. Create Network Load Balancer with the books resource.

00013

19. Scroll down to the bottom, click Create method.

00013

20. Click Deploy API.

00013

21. In the opening modal,

  • For Stage, select prod.
  • Click Deploy.

00013

22. Access the AWSome Books project with the AWS API Gateway endpoint you have noted down in step 9 in 9.2 Create AWS API Gateway.

00017

Also, the endpoint with the books resource.

00014

23. Back to your CodeDeploy Deployment console, click Terminate original task set.

00016

Once AWS CodeDeploy completes the termination of the original task set, you can move over to your Slack Workspace.

00017

24. You should receive a success notification from AWS CodeDeploy in the aws-codedeploy channel, delivered through AWS Chatbot.

00017

25. Additionally, the gha-release channel will likely receive a success notification for your Release workflow.

00017