{"id":23196254,"url":"https://github.com/kelomo2502/aws-ec2-github-actions_deployment","last_synced_at":"2026-04-16T05:33:57.052Z","repository":{"id":268363338,"uuid":"904102093","full_name":"kelomo2502/AWS-EC2-Github-Actions_Deployment","owner":"kelomo2502","description":"This project on GitHub Actions, focuses on deployment pipelines and cloud platform integration. It involves leverage GitHub Actions to automate deployment processes, effectively pushing applications to various cloud environments.","archived":false,"fork":false,"pushed_at":"2024-12-17T15:39:12.000Z","size":64,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T16:52:04.909Z","etag":null,"topics":["cicd","git","gitactions","nodejs","vscode","yaml"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kelomo2502.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-16T09:01:06.000Z","updated_at":"2024-12-17T17:42:55.000Z","dependencies_parsed_at":"2024-12-16T10:36:38.858Z","dependency_job_id":null,"html_url":"https://github.com/kelomo2502/AWS-EC2-Github-Actions_Deployment","commit_stats":null,"previous_names":["kelomo2502/aws-ec2-github-actions_deployment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kelomo2502%2FAWS-EC2-Github-Actions_Deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kelomo2502%2FAWS-EC2-Github-Actions_Deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kelomo2502%2FAWS-EC2-Github-Actions_Deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kelomo2502%2FAWS-EC2-Github-Actions_Deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kelomo2502","download_url":"https://codeload.github.com/kelomo2502/AWS-EC2-Github-Actions_Deployment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247308115,"owners_count":20917631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cicd","git","gitactions","nodejs","vscode","yaml"],"created_at":"2024-12-18T14:17:31.860Z","updated_at":"2026-04-16T05:33:57.012Z","avatar_url":"https://github.com/kelomo2502.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS-EC2-Github-Actions_Deployment\n\n## Objectives\n\n- Define and understand the stages of a deployment pipeline\n- Learn about different deployment strategies\n\n## Defining deployment startegies\n\n- **Development:** Writing and testing code in local environment\n- **Integration:** Merging code changes into a shared branch\n- **Testing:** Running automated test to ensure code quality\n- **Staging:** Deploying code to a production-like environment for final testing\n- **Production:** Releasing final version of code to end-users\n\n## Understanding deployment strategies\n\n- **Blue-Green-Deployment:** Running two production environments, only one of which serves end-user at any time\n- **Canary Release:** Rolling out changes to a small subset of users before full deployment\n- **Rolling Deployment:** Gradually replacing the previous instancesof an app with a new one\n\n## Automated Releases and Versioning\n\n- **Semantic Versioning(SemVer):** This uses a 3 part versioning version numbers. Such as Major, Minor, Patch\n- **Automated Versoning with Github Actions:** Implement automated versioning using github actions to increment version numbers automatically based on coe changes\n\n```yaml\nname: Bump version and tag\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  test:\n    name: Run Tests\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v2\n        # The checkout action checks out your repository under $GITHUB_WORKSPACE, so your workflow can access it.\n\n      - name: Set up Node.js\n        uses: actions/setup-node@v3\n        with:\n          node-version: '16' # Use the Node.js version your project requires\n\n      - name: Install dependencies\n        run: npm install\n\n      - name: Run tests\n        run: npm test\n\n  build:\n    name: Create Tag\n    runs-on: ubuntu-latest\n    needs: test # Ensures the 'test' job runs first\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v2\n        # The checkout action checks out your repository under $GITHUB_WORKSPACE, so your workflow can access it.\n\n      - name: Bump version and push tag\n        uses: anothrNick/github-tag-action@1.26.0\n        env:\n          GITHUB_TOKEN: ${{ secrets.VERSION_TOKEN }}\n          DEFAULT_BUMP: patch\n\n\n```\n\n## Creating and managing releases\n\n### Automating releases using github actions\n\n- Setup github actions to create new realease whenever a new tag is pushed to the repository\n\n```yaml\non:\n  push:\n    tags:\n      - '*'\n\njobs:\n  build:\n    name: Create Release\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v2\n        # Checks out the code in the tag that triggered the workflow.\n\n      - name: Create Release\n        id: create_release\n        uses: actions/create-release@v1\n        env:\n          GITHUB_TOKEN: ${{ secrets.VERSION_TOKEN }}\n        with:\n          tag_name: ${{ github.ref }}\n          release_name: Release ${{ github.ref }}\n          # This step creates a new release in GitHub using the tag name.\n\n```\n\n### Deploying to cloud platforms\n\n```yaml\nname: Deploy to AWS\non:\n  push:\n    branches:\n      - main\n  # This workflow triggers on a push to the 'main' branch.\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    # Specifies the runner environment.\n\n    steps:\n    - name: Checkout code\n      uses: actions/checkout@v2\n      # Checks out your repository under $GITHUB_WORKSPACE.\n\n    - name: Set up AWS credentials\n      uses: aws-actions/configure-aws-credentials@v1\n      with:\n        aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}\n        aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}\n        aws-region: us-east-1\n      # Configures AWS credentials from GitHub secrets.\n\n    - name: Deploy to AWS\n      run: |\n        # Add your deployment script here.\n        # For example, using AWS CLI commands to deploy.\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkelomo2502%2Faws-ec2-github-actions_deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkelomo2502%2Faws-ec2-github-actions_deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkelomo2502%2Faws-ec2-github-actions_deployment/lists"}