Fantastic video. This answered several specific questions I had around how to go about setting up workflows for a large number of AWS accounts. Thanks again, this has been very helpful.
Hi there - 2 questions for you. (1) Can you comment about GitHub Actions vs AWS CodePipeline? (2) I have a React app on the FE and serverless node.js on the BE, and I'd like to use one CI/CD mechanism for both. Which one would you recommend? Thank you.
Hey 1) github actions - super easy, code pipeline - needs a lot more configuration and setup. I've not found anything I can't do in github actions. If you're doing massive compile jobs in Java or something. Code Pipeline is closer to the traditional 'Jenkins" style CICD so it will be less of a change for traditional devops teams 2) github actions. You can either have them in the same repo or two separate repos. The front end can be hosted in S3 with Cloudfront and Route53. You can configure this all in Serverless. The backend in github actions. I think the video before this was on setting up a github actions pipeline for serverless deployment
I have a single environment and I am using GitHub Action for deploying AWS Infrastructure with Terraform but I wanted to know what could be the better deployment strategy for deploying the code on multi environment which would be on different AWS accounts like you mentioned one for dev and separate account for production. I don't think it would be ideal to trigger pipeline on the basis of env selection from the drop down. Do you think there would be any difference compare to above steps for deploying the code across multi environments? and whether it should be Blue-green, rolling or canary deployment
I think the process would look almost identical for you. If you have a push to the "dev" branch then CICD changes the destination (and ideally some terraform variable) to be dev. Master points to your production environment With my clients I work on a rolling deployment. Since it is all Serverless that's really easy to do. You can do more complex deployment patterns but fully automating that can become very complicated in your CICD
If you've got a jenkins server already then it should be very similar to this video - add you secrets and create a deployment script that runs "sls deploy" Complete Coding is all about designing serverless solutions. Jenkins is not serverless so I wouldnt be a good video for the channel. Also I've not used Jenkins in about 3 years so my knowledge will be out of date
Yes, definitely possible. You need to change the action in github to be on "Pull Request". You would need to do some extra logic to change the stage to be unique per PR so that you don't have conflicting resources being created.
the only problem with Complete Coding is that it uses TypeScript. Not everyone love to add another layer of complexity in the development. Could stay with regular Serverless.yml
I worked with yml for 3 years and it caused quite a few problems. Formatters changing indentation which break things was pretty common. With typescript (or just serverless.js) you have a more robust format and can do some cool things. I explain it all in this video czcams.com/video/A6l-wiwA4io/video.html I wouldn't want to work on a yml based project any more.
Fantastic video. This answered several specific questions I had around how to go about setting up workflows for a large number of AWS accounts. Thanks again, this has been very helpful.
good series Sam, you save us developers who are lazy to read the docs 😄
Haha thanks Joel
Great job dear
Thanks a lot
100th like from me :)
Hi there - 2 questions for you. (1) Can you comment about GitHub Actions vs AWS CodePipeline? (2) I have a React app on the FE and serverless node.js on the BE, and I'd like to use one CI/CD mechanism for both. Which one would you recommend? Thank you.
Hey
1) github actions - super easy, code pipeline - needs a lot more configuration and setup. I've not found anything I can't do in github actions. If you're doing massive compile jobs in Java or something. Code Pipeline is closer to the traditional 'Jenkins" style CICD so it will be less of a change for traditional devops teams
2) github actions. You can either have them in the same repo or two separate repos.
The front end can be hosted in S3 with Cloudfront and Route53. You can configure this all in Serverless.
The backend in github actions.
I think the video before this was on setting up a github actions pipeline for serverless deployment
I have a single environment and I am using GitHub Action for deploying AWS Infrastructure with Terraform but I wanted to know what could be the better deployment strategy for deploying the code on multi environment which would be on different AWS accounts like you mentioned one for dev and separate account for production. I don't think it would be ideal to trigger pipeline on the basis of env selection from the drop down. Do you think there would be any difference compare to above steps for deploying the code across multi environments? and whether it should be Blue-green, rolling or canary deployment
I think the process would look almost identical for you. If you have a push to the "dev" branch then CICD changes the destination (and ideally some terraform variable) to be dev. Master points to your production environment
With my clients I work on a rolling deployment. Since it is all Serverless that's really easy to do. You can do more complex deployment patterns but fully automating that can become very complicated in your CICD
Please made video on serverless lambda deploy using Jenkins pipeline. Thanks
If you've got a jenkins server already then it should be very similar to this video - add you secrets and create a deployment script that runs "sls deploy"
Complete Coding is all about designing serverless solutions. Jenkins is not serverless so I wouldnt be a good video for the channel. Also I've not used Jenkins in about 3 years so my knowledge will be out of date
do you have repo with codes ?
Hey mate, I have a react app and would like to have AWS s3 deployement per pull request. Is it possible? Please make one video.
Yes, definitely possible. You need to change the action in github to be on "Pull Request". You would need to do some extra logic to change the stage to be unique per PR so that you don't have conflicting resources being created.
@@CompleteCoding thanks. Can you please make one video?
the only problem with Complete Coding is that it uses TypeScript. Not everyone love to add another layer of complexity in the development. Could stay with regular Serverless.yml
I worked with yml for 3 years and it caused quite a few problems. Formatters changing indentation which break things was pretty common.
With typescript (or just serverless.js) you have a more robust format and can do some cool things. I explain it all in this video
czcams.com/video/A6l-wiwA4io/video.html
I wouldn't want to work on a yml based project any more.