{"id":13903257,"url":"https://github.com/camiloribeiro/cdeasy","last_synced_at":"2025-07-18T00:33:54.325Z","repository":{"id":34435061,"uuid":"38368579","full_name":"camiloribeiro/cdeasy","owner":"camiloribeiro","description":"Continuous Delivery made Easy ;)","archived":false,"fork":false,"pushed_at":"2017-06-22T13:23:07.000Z","size":394,"stargazers_count":142,"open_issues_count":3,"forks_count":46,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-08-07T22:37:09.013Z","etag":null,"topics":["blue-ocean","continuous-delivery","continuous-deployment","continuous-integration","continuous-testing","delivery-pipeline","docker","jenkins","job-dsl","pipeline-jenkins2"],"latest_commit_sha":null,"homepage":null,"language":"Groovy","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/camiloribeiro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-01T11:54:57.000Z","updated_at":"2024-02-19T14:49:05.000Z","dependencies_parsed_at":"2022-09-16T21:51:11.430Z","dependency_job_id":null,"html_url":"https://github.com/camiloribeiro/cdeasy","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/camiloribeiro%2Fcdeasy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camiloribeiro%2Fcdeasy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camiloribeiro%2Fcdeasy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camiloribeiro%2Fcdeasy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/camiloribeiro","download_url":"https://codeload.github.com/camiloribeiro/cdeasy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226320974,"owners_count":17606386,"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":["blue-ocean","continuous-delivery","continuous-deployment","continuous-integration","continuous-testing","delivery-pipeline","docker","jenkins","job-dsl","pipeline-jenkins2"],"created_at":"2024-08-06T22:01:57.312Z","updated_at":"2024-11-25T11:31:29.089Z","avatar_url":"https://github.com/camiloribeiro.png","language":"Groovy","funding_links":[],"categories":["jenkins"],"sub_categories":[],"readme":"CDeasy - Continuous Delivery made easy\n========================================\n\n[![Build Status](https://travis-ci.org/camiloribeiro/cdeasy.svg?branch=master)](https://travis-ci.org/camiloribeiro/cdeasy)\n\n   \n                       ##        .\n                 ## ## ##       ==            Example of how Docker and automation can help you\n              ## ## ## ##      ===            to improve your continuous delivery process.\n          /\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\\___/ ===\n     ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~   This is not a production ready framework or template\n          \\______ o          __/              to start using in your current project. Please take\n            \\    \\        __/                 this as an inspiration to improve or implement a\n             \\____\\______/                    Continuous Delivery pipeline for your own needs :)\n                             \u003c3 Docker \u003c3\n   \n\n\nAbout CDeasy\n-----------------\n\nThis project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).\nBy participating, you are expected to uphold this code.\n \nHere you will find a set of groovy scripts that use job-dsl plugin for jenkins (https://jenkinsci.github.io/job-dsl-plugin), jenkins itself (https://github.com/jenkinsci/jenkins), groovy and spock for testing (https://github.com/spockframework/spock)\n\nBy running this example you will be able to setup a jenkins instance with an example of continuous delivery pipeline in your local computer, all instantiated by one simple click ;)\n\nThe pipeline you will see is:\n\n![Delivery pipeline example](pipeline.png)\n\nYou will also see the following example of the new blueocean pipeline:\n\n![Native Jenkins 2 Pipeline with Blueocean example](pipeline2.png)\n\nTo do that, run the seed job, then go to \"Try Blue Ocean UI\" in the top of the page and run the job \"example_pipeline_jenkins2\"\n   \nSetting up the environment\n===========================\n\nBefore cloning this repository you you need docker, docker-compose (1.6.0+) and git in your machine. \nIf you want to try new stuff, than a IDE of your preference could be needed. In any case, it should be able to be edited using only VIM (like I do) or any other favorite text editor\n\nOSX\n----\n \nIf you are new to docker and you want to get some abstraction on the docker machine, please install docker for mac:\n\n    - https://docs.docker.com/installation/mac/\n\nYou will also need to install docker-compose:\n\n    - curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s`-`uname -m` \u003e /usr/local/bin/docker-compose\n    - chmod +x /usr/local/bin/docker-compose \n\nFor more info please check: http://docs.docker.com/compose/install/\n\nLinux\n------\nPlease check the best way to install in your distribution on http://docs.docker.com/installation/ubuntulinux/\n\nYou will also need to install docker-compose:\n\n    - curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s`-`uname -m` \u003e /usr/local/bin/docker-compose\n    - chmod +x /usr/local/bin/docker-compose \n\nFor more info please check: http://docs.docker.com/compose/install/ \n\nWindows\n-------\nThis is the link to install boot2docker on Windows. \n\n    - https://docs.docker.com/installation/windows/\n\nYou will also need to use docker-compose here, but I don't know a simple way to do that :( try to google or check this stackoverflow thread:\n\n    - http://stackoverflow.com/questions/29289785/how-to-install-docker-compose-on-windows\n\nIn this repo, in the blog post that will follow it and in the presentations there will not have any other reference to windows environments given my lack of experience with it. \n\nPlease consider using another operating system if you are not able to run the full experience at first, then please adapt it later to windows. \nIf you see any improvements that these instructions or scripts could have, please consider to pull request :) Credits will be fully given to you\n\nInstalling Jenkins, its plug-ins and seed job the fun way\n-------------------------------------------\n\nPlease note that you will need a fast internet connection and you will need to allocate at least 2 GB RAM to your docker machine. More memory, faster results ;)\n\nFor it you just need to run the following commands:\n\n      - git clone https://github.com/camiloribeiro/cdeasy.git\n      - cd cdeasy\n      - docker-compose build jenkins \n      - docker-compose up\n\nIt is all set!\n\nGo to your local docker host port 8080 and past the token to start. Since we have installed all the plug-ins needed to run our pipelines, there is no need to install it in the first step. Just click in the upper right X to close without installing anything.\n\nInstalling Jenkins, its plug-ins and seed job the fast way\n-------------------------------------------\n\nSame preconditions as before.\n\nFor it you just need to run the following commands:\n\n      - git clone https://github.com/camiloribeiro/cdeasy.git\n      - cd cdeasy\n      - docker run -it -p 8080:8080 -v $PWD/docker/jenkins/seed.groovy:/usr/share/jenkins/ref/init.groovy.d/seed.groovy:ro -v $PWD:/var/jenkins_home/workspace/seed:ro camiloribeiro/cdeasy:latest\n\nIt is all set!\n\nGo to your local docker host port 8080 and past the token to start. Since we have installed all the plug-ins needed to run our pipelines, there is no need to install it in the first step. Just click in the upper right X to close without installing anything.\n\nSupport to blue ocean\n-----------------\n\nNow this example has also support to the blue ocean, the new jenkins gui. It is very basic and it is only supported by the example_pieline_jenkins2 job.\nKeep in mind you still have to run the seed job before anything else. A variant feature will appear in the top of your jenkins (Try Blue Ocean UI ...), if you click there (or add /blue after the jenkins url) you will engage in blue ocean experience. I will keep it up to data, so star or follow the repo to try the new versions.\n\nWhy is it so badly tested?\n-------------------------------------------\n\nI tried not to test it as it should be tested to avoid increasing the complexity to people recently exposed to jenkins and job-dsl.\nI am thinking in a nice way to show how to test the pipeline in modules without scaring non tdd'ers or making people think that it is overcomplicated.\n\nThe two pipelines\n-------------------------------------------\n\nAfter setting up the environment like shown before, you will run the seed job, just like any other job. \nPlease note that you can change the files as you please and rerun the seed job to see the effects, since all the files are shared from your local to a docker container.\n\nThe first pipeline will show up when executing the \"unit_test\" job and looking into the \"Dummy Pipeline Example\" view. This is the legacy pipeline (and still more flexible than the new one).\nThe second pipeline (native for jenkins 2) will be shown when running the job \"example_pipeline_jenkins2\".\n\nDeveloping and Helping\n-----------------\n\nYou can help this repo to get better by adding more tests, adding more language agnostic builds, adding new features, writing better documentation or refactoring the code.\n\nIf you change the code, you must run the tests locally and make sure it is all green before pushing a pull request. \n\n      - ./gradlew check\n\nRemember to replace the repo url to your forked repo in the job example_pipeline_jenkins2 (dsl/pipeline/example_alpha_pipeline.groovy), only needed if you want to fork and tryout your own implementation.\n\nHave fun!!!\n\nLICENSE\n=======\n\nCopyright 2015 - 2017 Camilo Ribeiro camilo@camiloribeiro.com\n\nThis file is part of CDEASY.\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamiloribeiro%2Fcdeasy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcamiloribeiro%2Fcdeasy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamiloribeiro%2Fcdeasy/lists"}