{"id":22856615,"url":"https://github.com/deis/builder","last_synced_at":"2025-04-30T15:14:13.738Z","repository":{"id":57505191,"uuid":"44639329","full_name":"deis/builder","owner":"deis","description":"Git server and application builder for Deis Workflow","archived":false,"fork":false,"pushed_at":"2018-03-01T16:50:00.000Z","size":49363,"stargazers_count":40,"open_issues_count":34,"forks_count":41,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-11-15T01:34:38.571Z","etag":null,"topics":["deis-workflow","git","k8s","kubernetes","unsupported"],"latest_commit_sha":null,"homepage":"https://deis.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-20T22:49:18.000Z","updated_at":"2019-10-25T22:52:42.000Z","dependencies_parsed_at":"2022-08-22T09:00:19.239Z","dependency_job_id":null,"html_url":"https://github.com/deis/builder","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deis%2Fbuilder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deis%2Fbuilder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deis%2Fbuilder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deis%2Fbuilder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deis","download_url":"https://codeload.github.com/deis/builder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229510766,"owners_count":18084444,"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":["deis-workflow","git","k8s","kubernetes","unsupported"],"created_at":"2024-12-13T08:09:10.104Z","updated_at":"2024-12-13T08:09:10.582Z","avatar_url":"https://github.com/deis.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n|![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/Warning.svg/156px-Warning.svg.png) | Deis Workflow is no longer maintained.\u003cbr /\u003ePlease [read the announcement](https://deis.com/blog/2017/deis-workflow-final-release/) for more detail. |\n|---:|---|\n| 09/07/2017 | Deis Workflow [v2.18][] final release before entering maintenance mode |\n| 03/01/2018 | End of Workflow maintenance: critical patches no longer merged |\n| | [Hephy](https://github.com/teamhephy/workflow) is a fork of Workflow that is actively developed and accepts code contributions. |\n\n# Deis Builder v2\n\n[![Build Status](https://ci.deis.io/job/builder/badge/icon)](https://ci.deis.io/job/builder) [![codecov](https://codecov.io/gh/deis/builder/branch/master/graph/badge.svg)](https://codecov.io/gh/deis/builder)\n[![Go Report Card](https://goreportcard.com/badge/github.com/deis/builder)](https://goreportcard.com/report/github.com/deis/builder)[![codebeat badge](https://codebeat.co/badges/e29e5e2b-531d-4374-810b-f05053c47688)](https://codebeat.co/projects/github-com-deis-builder) [![Docker Repository on Quay](https://quay.io/repository/deisci/builder/status \"Docker Repository on Quay\")](https://quay.io/repository/deisci/builder)\n\nDeis (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any [Kubernetes][k8s-home] cluster, making it easy to deploy and manage applications on your own servers.\n\nFor more information about Deis Workflow, please visit the main project page at https://github.com/deis/workflow.\n\nWe welcome your input! If you have feedback, please [submit an issue][issues]. If you'd like to participate in development, please read the \"Development\" section below and [submit a pull request][prs].\n\n# About\n\nThe builder is primarily a git server that responds to `git push`es by executing either the `git-receive-pack` or `git-upload-pack` hook. After it executes one of those hooks, it takes the following high level steps in order:\n\n1. Calls `git archive` to produce a tarball (i.e. a `.tar.gz` file) on the local file system\n2. Saves the tarball to centralized object storage according to the following rules:\n\t- If the `BUILDER_STORAGE` environment variable is other than `minio`, attempts to create the appropriate storage driver and saves using this driver.\n  - Otherwise, if `BUILDER_STORAGE` is `minio` and the `DEIS_MINIO_SERVICE_HOST` and `DEIS_MINIO_SERVICE_PORT` environment variables exist (these are standard [Kubernetes service discovery environment variables](http://kubernetes.io/docs/user-guide/services/#environment-variables)), saves to the [S3 API][s3-api-ref] compatible server at `http://$DEIS_MINIO_SERVICE_HOST:$DEIS_MINIO_SERVICE_HOST`\n3. Starts a new [Kubernetes Pod](http://kubernetes.io/docs/user-guide/pods/) to build the code, according to the following rules:\n  - If a `Dockerfile` is present in the codebase, starts a [`dockerbuilder`](https://github.com/deis/dockerbuilder) pod, configured to download the code to build from the URL computed in the previous step.\n  - Otherwise, starts a [`slugbuilder`](https://github.com/deis/slugbuilder) pod, configured to download the code to build from the URL computed in the previous step.\n\n# Supported Off-Cluster Storage Backends\n\nBuilder currently supports the following off-cluster storage backends:\n\n* GCS\n* AWS/S3\n* Azure\n* Swift\n\n# Development\n\nThe Deis project welcomes contributions from all developers. The high level process for development matches many other open source projects. See below for an outline.\n\n* Fork this repository\n* Make your changes\n* [Submit a pull request][prs] (PR) to this repository with your changes, and unit tests whenever possible\n\t* If your PR fixes any [issues][issues], make sure you write `Fixes #1234` in your PR description (where `#1234` is the number of the issue you're closing)\n* The Deis core contributors will review your code. After each of them sign off on your code, they'll label your PR with `LGTM1` and `LGTM2` (respectively). Once that happens, a contributor will merge it\n\n## Docker Based Development Environment\n\nThe preferred environment for development uses [the `go-dev` Docker image](https://github.com/deis/docker-go-dev). The tools described in this section are used to build, test, package and release each version of Deis.\n\nTo use it yourself, you must have [make](https://www.gnu.org/software/make/) installed and Docker installed and running on your local development machine.\n\nIf you don't have Docker installed, please go to https://www.docker.com/ to install it.\n\nAfter you have those dependencies, grab Go dependencies with `make bootstrap`, build your code with `make build` and execute unit tests with `make test`.\n\n## Native Go Development Environment\n\nYou can also use the standard `go` toolchain to build and test if you prefer. To do so, you'll need [glide](https://github.com/Masterminds/glide) 0.9 or above and [Go 1.6](http://golang.org) or above installed.\n\nAfter you have those dependencies, you can build and unit-test your code with `go build` and `go test $(glide nv)`, respectively.\n\nNote that you will not be able to build or push Docker images using this method of development.\n\n# Testing\n\nThe Deis project requires that as much code as possible is unit tested, but the core contributors also recognize that some code must be tested at a higher level (functional or integration tests, for example).\n\nThe [end-to-end tests](https://github.com/deis/workflow-e2e) repository has our integration tests. Additionally, the core contributors and members of the community also regularly [dogfood](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) the platform. Since this particular component is at the center of much of the Deis Workflow platform, we find it especially important to dogfood it.\n\n## Running End-to-End Tests\n\nPlease see [README.md](https://github.com/deis/workflow-e2e/blob/master/README.md) on the end-to-end tests repository for instructions on how to set up your testing environment and run the tests.\n\n## Dogfooding\n\nPlease follow the instructions on the [official Deis docs](http://docs-v2.readthedocs.org/en/latest/installing-workflow/installing-deis-workflow/) to install and configure your Deis Workflow cluster and all related tools, and deploy and configure an app on Deis Workflow.\n\n\n[s3-api-ref]: http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html\n[install-k8s]: http://kubernetes.io/gettingstarted/\n[k8s-home]: http://kubernetes.io\n[issues]: https://github.com/deis/builder/issues\n[prs]: https://github.com/deis/builder/pulls\n[v2.18]: https://github.com/deis/workflow/releases/tag/v2.18.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeis%2Fbuilder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeis%2Fbuilder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeis%2Fbuilder/lists"}