{"id":22672211,"url":"https://github.com/jimlynchcodes/travis-ci-multiple-environments-demo","last_synced_at":"2025-03-29T11:24:52.074Z","repository":{"id":43987863,"uuid":"242616840","full_name":"JimLynchCodes/Travis-CI-Multiple-Environments-Demo","owner":"JimLynchCodes","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-05T08:07:27.000Z","size":700,"stargazers_count":1,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-04T11:55:08.769Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JimLynchCodes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-24T00:50:55.000Z","updated_at":"2020-02-25T02:58:37.000Z","dependencies_parsed_at":"2023-02-03T19:46:41.401Z","dependency_job_id":null,"html_url":"https://github.com/JimLynchCodes/Travis-CI-Multiple-Environments-Demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimLynchCodes%2FTravis-CI-Multiple-Environments-Demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimLynchCodes%2FTravis-CI-Multiple-Environments-Demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimLynchCodes%2FTravis-CI-Multiple-Environments-Demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimLynchCodes%2FTravis-CI-Multiple-Environments-Demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JimLynchCodes","download_url":"https://codeload.github.com/JimLynchCodes/Travis-CI-Multiple-Environments-Demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246176134,"owners_count":20735709,"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":[],"created_at":"2024-12-09T16:18:19.112Z","updated_at":"2025-03-29T11:24:51.939Z","avatar_url":"https://github.com/JimLynchCodes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Travis CI Multiple Environments Demo\n\nThis project is an example of how you might setup configure your continuous integration and continuous deployment for three environments with TravisCI for some arbitrary git project.\n\n# Dev, Staging, \u0026 Production\n\nThe names are arbitrary as long as everyone understands the order. In this example the flow will be:\n\n-\u003e dev -\u003e staging -\u003e production\n\n# Branch-Based Environments\n\nWith branch-based environments we have a branch for each environment, and to keep things simple I like to give each of the git branches the same names as the environments above.\n\n- When code is merged into (or pushed to) either the `dev`, `staging`, or `production` branch a CI build is automatically kicked off, and upon successful completion the finished build is deployed to the respective branch.\n\n- When a pull request is opened, two builds are automatically kicked off:\n   - 1. A build of the current branch asking to be merged.\n   - 2. A build of the \"post-merge\" version of the branch getting code merged into it. \n\n    \u003cimg src=\"travis-two-builds-on-pr-screenshot.png\" \u003e\n\n   ^ Having these 2 automatic builds and test runs is a great time saver for any code review process! \n\n# Platform / Language Agnostic\nThis project demonstrates how to use TravisCi for a NodeJS project, but Travis supports loads of other languages so this 3-environment CI/CD pattern can be applied to all sorts of projects! Even if you decide to go with another CI platform other than Travis, you can take the mentality and ability to leverage the results of the tests and builds at various points throughout the deployment process and rollout of features across envvironments in an organized and efficient fashion. \n\n# Contributing\nI'd love to hear your thoughts and suggestions on this project! Feel free to open issues or PR's, and I'll respond as soon as I can. Thanks! ❤️ \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimlynchcodes%2Ftravis-ci-multiple-environments-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimlynchcodes%2Ftravis-ci-multiple-environments-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimlynchcodes%2Ftravis-ci-multiple-environments-demo/lists"}