Day 49: Your CI/CD pipeline on AWS - Part-1 ๐Ÿš€ โ˜

Day 49: Your CI/CD pipeline on AWS - Part-1 ๐Ÿš€ โ˜

ยท

4 min read

What if I tell you, in next 4 days, you'll be making a CI/CD pipeline on AWS with these tools.

  • CodeCommit

  • CodeBuild

  • CodeDeploy

  • CodePipeline

  • S3

What is Code Commit ?

WS CodeCommit is a fully-managed source control service that makes it easy for teams to host secure and highly scalable Git repositories. It provides a secure and reliable place to store your code assets, making collaboration and version control seamless.

Here are some key features of AWS CodeCommit:

  1. Secure: CodeCommit uses encryption to ensure the security of your code repositories. It integrates with AWS Identity and Access Management (IAM) to manage user permissions and access control.

  2. Scalable: CodeCommit is designed to scale seamlessly as your team and codebase grow. It can handle repositories of any size, and its performance remains consistent even with large numbers of concurrent users.

  3. Fully Managed: AWS takes care of the underlying infrastructure, including hardware provisioning, database management, and backups. This allows your team to focus on writing code rather than managing servers.

  4. Integration: CodeCommit integrates seamlessly with other AWS services such as CodeBuild, CodeDeploy, and CodePipeline, enabling you to build powerful CI/CD pipelines.

  5. Collaboration: Multiple developers can collaborate on the same repository, working on different branches and merging changes using standard Git workflows.

  6. Version Control: CodeCommit provides all the features you would expect from a modern version control system, including commit history, branching, tagging, and pull requests.

Task-01 :

  • Set up a code repository on CodeCommit and clone it on your local.

Sure, here's a step-by-step guide to setting up a code repository on AWS CodeCommit and cloning it locally:

  1. Create an AWS Account: If you don't already have one, sign up for an AWS account at https://aws.amazon.com/.

  2. Access the AWS Management Console: Log in to the AWS Management Console.

  3. Navigate to CodeCommit: In the AWS Management Console, search for "CodeCommit" or navigate to it under the "Developer Tools" section.

  4. Create a New Repository: Click on the "Create repository" button and provide a name and optional description for your repository. Choose the options that suit your project needs, such as repository description, repository privacy (public or private), and whether to enable branch permissions.

  5. Clone Repository: After creating the repository, you'll see instructions on how to clone it. You'll typically use HTTPS or SSH to clone the repository. Let's assume you're using HTTPS.

    • Open your terminal or command prompt.

    • Navigate to the directory where you want to clone the repository.

    • Run the following command, replacing <repository-URL> with the HTTPS URL provided in the CodeCommit console:

        bashCopy codegit clone <repository-URL>
      

For example:

    bashCopy codegit clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/my-repository
  1. Authentication: If you're using HTTPS, AWS CodeCommit requires Git credentials for authentication. Depending on your Git configuration, you might be prompted to enter your AWS IAM username and password, or you might need to set up Git credentials using AWS CLI.

  2. Start Working: Once the repository is cloned, you can start working with it locally. You can create new files, make changes, commit them locally, and then push them to the CodeCommit repository.

That's it! You've successfully set up a code repository on AWS CodeCommit and cloned it locally. Now you can collaborate with your team or work on your project using Git and AWS CodeCommit.

  • You need to setup GitCredentials in your AWS IAM.

You're absolutely right! I apologize for the oversight. Here's how you can set up Git credentials in your AWS IAM:

  1. Create an IAM User: If you don't have an IAM user already, you'll need to create one. Go to the IAM console in the AWS Management Console and click on "Users" in the navigation pane. Then click on "Add user" and follow the prompts to create a new IAM user.

  2. Attach Policy: Attach the "AWSCodeCommitPowerUser" policy to the IAM user you just created. This policy provides the necessary permissions to interact with CodeCommit repositories.

  3. Generate Git Credentials: After creating the IAM user, navigate to the "Security credentials" tab for that user. Under the "HTTPS Git credentials for AWS CodeCommit" section, click on the "Generate" button to create Git credentials for accessing CodeCommit repositories over HTTPS.

  4. Note Credentials: After generating the Git credentials, note down the username and password. These will be used when Git prompts you for credentials during operations like cloning, pushing, and pulling from the CodeCommit repository.

  5. Configure Git: Finally, configure Git to use these credentials. You can do this by running the following commands in your terminal:

     arduinoCopy codegit config --global credential.helper '!aws codecommit credential-helper $@'
     git config --global credential.UseHttpPath true
    

    This configures Git to use the AWS CLI's CodeCommit credential helper to manage credentials for CodeCommit repositories.

Once you've completed these steps, you should be able to clone, push, and pull from your AWS CodeCommit repository without being prompted for credentials each time. Your IAM user's Git credentials will be used automatically by Git.

ย