{"id":31760612,"url":"https://github.com/managedkaos/cicd-exploration-and-research","last_synced_at":"2026-08-13T10:31:24.885Z","repository":{"id":180346439,"uuid":"664978081","full_name":"managedkaos/cicd-exploration-and-research","owner":"managedkaos","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-16T18:55:24.000Z","size":611,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-08-11T05:43:25.378Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/managedkaos.png","metadata":{"files":{"readme":"README-2.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-11T07:08:18.000Z","updated_at":"2025-06-16T18:55:28.000Z","dependencies_parsed_at":"2025-10-09T21:33:44.813Z","dependency_job_id":"14ee9115-1431-4971-9d31-5fcdb452f6ff","html_url":"https://github.com/managedkaos/cicd-exploration-and-research","commit_stats":null,"previous_names":["managedkaos/cicd-exploration-and-research"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/managedkaos/cicd-exploration-and-research","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/managedkaos%2Fcicd-exploration-and-research","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/managedkaos%2Fcicd-exploration-and-research/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/managedkaos%2Fcicd-exploration-and-research/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/managedkaos%2Fcicd-exploration-and-research/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/managedkaos","download_url":"https://codeload.github.com/managedkaos/cicd-exploration-and-research/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/managedkaos%2Fcicd-exploration-and-research/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36604623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-13T02:00:06.325Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-09T21:31:10.648Z","updated_at":"2026-08-13T10:31:24.864Z","avatar_url":"https://github.com/managedkaos.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CI/CD Exploration and Research\n\n## References and Resources\n- [Best Continuous Integration Tools for 2023 ‒ Survey Results](https://blog.jetbrains.com/teamcity/2023/07/best-ci-tools/)\n- [DevOps Foundations: Infrastructure as Code Course Handout](./Documents/Infrastructure_as_Code_Course_Handout.pdf)\n- [DevOps Foundations: Infrastructure as Code Lab Setup Instructions](./Documents/Infrastructure_as_Code_Lab_Setup_Instructions.pdf)\n- [How to Launch AWS Elastic beanstalk using Terraform](https://automateinfra.com/2021/03/24/how-to-launch-aws-elastic-beanstalk-using-terraform/)\n- [Hands-on AWS CloudFormation - Part 5. IAM users, groups and roles](https://dev.to/tiamatt/hands-on-aws-cloudformation-part-5-iam-users-groups-and-roles-5d9f)\n- [IAM_Users_Groups_and_Policies.yaml](https://github.com/awslabs/aws-cloudformation-templates/blob/master/aws/services/IAM/IAM_Users_Groups_and_Policies.yaml)\n- [Launching a Jenkins Master using AWS CloudFormation](http://beta.awsdocs.com/infrastructure_as_code/cloudformation/applications/jenkins_cf_deployment/)\n- [Elastic Beanstalk template snippets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-elasticbeanstalk.html)\n\n\n## Tools\n### Bamboo\n- [Bamboo Server and Data Center feature comparison](https://confluence.atlassian.com/bamboo/bamboo-server-and-data-center-feature-comparison-1063170546.html)\n- [Server Deprecation Details and Countdown](https://www.atlassian.com/migration/assess/journey-to-cloud)\n\n\n## Chapters\n0. Introduction\n1. Self-Hosted\n1. Software as a Service (SaaS)\n1. Cloud Service Providers\n1. Code Repositories\n1. Selecting the Right CI Tool\n1. Conclusion\n\n## Sections\n| Section | Title | Length | Rank | Comments |\n|:--------|:------|:-------|:-----|:---------|\n| 00_01   | Building your CI/CD pipeline| 1m 16s |||\n| 00_02   | What you should know| 2m 25s|||\n| 00_03   | Landscape of CI/CD tools and CI/CD tool categories| 1m 20s|||\n| 00_04   | Pros and cons| 3m 30s|||\n| 00_05   | The experimental pipeline| 3m 6s|||\n| 00_06   | About the exercise files| 36s|||\n| 01_01   | Jenkins| 4m 40s| 2/17| Multiple courses|\n| 01_02   | Bamboo| 4m 32s| 12/17| One dated course (2018)|\n| 01_03   | TeamCity| 4m 30s| 10/17|||\n| 02_01   | Travis CI| 4m 9s| 6/17|||\n| 02_02   | Codeship| 4m 25s| 17/17|||\n| 02_03   | CircleCI| 5m 12s| 5/17|||\n| 03_01   | Amazon Web Services (AWS) CodePipeline and CodeBuild| 7m 11s| 8/17| Some courses|\n| 03_02   | Azure Pipelines| 5m 20s| 4/17| Two courses|\n| 03_03   | Google Cloud Platform (GCP) Cloud Build| 5m| 11/17| One solid course|\n| 04_01   | GitHub Actions| 5m 22s| 1/17| Multiple Courses|\n| 04_02   | GitLab CI| 4m 30s| 3/17| Two solid courses|\n| 04_03   | Bitbucket Pipelines| 4m 22s| 7/17|||\n| 05_01   | Selecting the Right CI Tool (or better title)||||\n| 05_02   | LinkedIn Courses for Further Exploration||||\n| 06_01   | Next steps| 33s|||\n\n## Courses\n### Jenkins\n- https://www.linkedin.com/learning/learning-jenkins-14423877\n- https://www.linkedin.com/learning/jenkins-essential-training-17420152\n- https://www.linkedin.com/learning/running-jenkins-on-aws-8591136\n\n### Bamboo\n- https://www.linkedin.com/learning/bamboo-essential-training (2018?)\n\n### AWS CodePipeline\n- https://www.linkedin.com/learning/devops-with-aws\n- https://www.linkedin.com/learning/deploy-javascript-apps-to-aws-elastic-beanstalk\n\n### Azure Pipelines\n- https://www.linkedin.com/learning/continuous-delivery-with-azure-devops\n- https://www.linkedin.com/learning/azure-devops-continuous-delivery-with-yaml-pipelines\n\n### Google Cloud Build\n- https://www.linkedin.com/learning/google-cloud-for-developers-learning-the-cloud-build-ci-cd-platform\n\n### GitHub Actions\n- https://www.linkedin.com/learning/learning-github-actions-2\n- https://www.linkedin.com/learning/advanced-github-actions\n- https://www.linkedin.com/learning/practical-github-actions\n- https://www.linkedin.com/learning/build-and-deploy-containerized-apps-with-github-actions\n\n### GitLab CI\n- https://www.linkedin.com/learning/continuous-integration-and-continuous-delivery-with-gitlab\n\n\n## Notes\n- 2023-07-14\n  - Added cfn template for service account, target application, and 2 environments (Staging + Production)for the application\n  - need to combine them into one template\n  - need to update the application, the deployment scripts, etc\n  - need to update the pipelines to take the application and environment names\n  - need to update upload script to take the name of the applciation and the name of the bucket\n\n        upload-new-version.sh python-web-application-application\n\n  - need up update the deploy script to take the application name first and the environment second.  currently in use:\n\n        ./deploy-new-version.sh pytho-Stag-W7hgJD1LTmxb python-web-application-application\n\n- 2023-07-14\n  - Maybe use App Runner instead of Elastic Beanstalk or Lambda?\n  - [AWS App Runner CloudFormation Template generated using AWS Copilot](https://gist.github.com/toricls/5c448b723e25118e683ae065ce58fa1d)\n\n\n\n## Experimental Pipeline\n\nSecrets:\n- AWS_ACCESS_KEY_ID\n- AWS_SECRET_ACCESS_KEY\n\nVariables:\n- AWS_DEFAULT_REGION\n- STAGING_FUNCTION_NAME\n- STAGING_URL\n- PRODUCTION_FUNCTION_NAME\n- PRODUCTION_URL\n\n1. Requirements\n\n    python3 -m venv local\n    . ./local/bin/activate\n    make requirements\n\n2. Check-Lint-Test\n\n    . ./local/bin/activate\n    make check lint test\n\n3. Build\n\n    make clean build\n\n4. Deploy Staging\n\n\tmake deploy FUNCTION=${STAGING_FUNCTION_NAME} PLATFORM=\"CHANGE_THIS\" VERSION=${BUILD_VCS_NUMBER} BUILD_NUMBER=${BUILD_NUMBER}\n\n\tmake deploy \\\n\t\tPLATFORM=\"CHANGE_THIS\" \\\n\t\tFUNCTION=${STAGING_FUNCTION_NAME} \\\n\t\tVERSION=${BUILD_VCS_NUMBER} \\\n\t\tBUILD_NUMBER=${BUILD_NUMBER}\n\n5. Test Staging\n\n    make testdeployment URL=${STAGING_URL} VERSION=${BUILD_VCS_NUMBER}\n\n6. Deploy Production\n\n\tmake deploy FUNCTION=${PRODUCTION_FUNCTION_NAME} PLATFORM=\"CircleCI\" VERSION=${BUILD_VCS_NUMBER} BUILD_NUMBER=${BUILD_NUMBER}\n\n\tmake deploy FUNCTION=${PRODUCTION_FUNCTION_NAME} PLATFORM=\"CircleCI\" VERSION=${BUILD_VCS_NUMBER} BUILD_NUMBER=${BUILD_NUMBER}\n\n7. Test Production\n\n    make testdeployment URL=${PRODUCTION_URL} VERSION=${BUILD_VCS_NUMBER}\n\nBamboo Make Argument:\ndeploy ENVIRONMENT=\"Staging\" PLATFORM=\"Bamboo\" FUNCTION=${bamboo.STAGING_FUNCTION_NAME} VERSION=${bamboo.planRepository.revision} BUILD_NUMBER=${bamboo.buildNumber}\n\nBamboo Evnrionment Variables:\nAWS_ACCESS_KEY_ID=${bamboo.AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${bamboo.AWS_SECRET_ACCESS_KEY} AWS_DEFAULT_REGION=${bamboo.AWS_DEFAULT_REGION}","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanagedkaos%2Fcicd-exploration-and-research","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanagedkaos%2Fcicd-exploration-and-research","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanagedkaos%2Fcicd-exploration-and-research/lists"}