Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Git server and application builder for Deis Workflow

License

NotificationsYou must be signed in to change notification settings

deis/builder

Repository files navigation

Deis Workflow is no longer maintained.
Pleaseread the announcement for more detail.
09/07/2017Deis Workflowv2.18 final release before entering maintenance mode
03/01/2018End of Workflow maintenance: critical patches no longer merged
Hephy is a fork of Workflow that is actively developed and accepts code contributions.

Build StatuscodecovGo Report Cardcodebeat badgeDocker Repository on Quay

Deis (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to anyKubernetes cluster, making it easy to deploy and manage applications on your own servers.

For more information about Deis Workflow, please visit the main project page athttps://github.com/deis/workflow.

We welcome your input! If you have feedback, pleasesubmit an issue. If you'd like to participate in development, please read the "Development" section below andsubmit a pull request.

About

The builder is primarily a git server that responds togit pushes by executing either thegit-receive-pack orgit-upload-pack hook. After it executes one of those hooks, it takes the following high level steps in order:

  1. Callsgit archive to produce a tarball (i.e. a.tar.gz file) on the local file system
  2. Saves the tarball to centralized object storage according to the following rules:
    • If theBUILDER_STORAGE environment variable is other thanminio, attempts to create the appropriate storage driver and saves using this driver.
  • Otherwise, ifBUILDER_STORAGE isminio and theDEIS_MINIO_SERVICE_HOST andDEIS_MINIO_SERVICE_PORT environment variables exist (these are standardKubernetes service discovery environment variables), saves to theS3 API compatible server athttp://$DEIS_MINIO_SERVICE_HOST:$DEIS_MINIO_SERVICE_HOST
  1. Starts a newKubernetes Pod to build the code, according to the following rules:
  • If aDockerfile is present in the codebase, starts adockerbuilder pod, configured to download the code to build from the URL computed in the previous step.
  • Otherwise, starts aslugbuilder pod, configured to download the code to build from the URL computed in the previous step.

Supported Off-Cluster Storage Backends

Builder currently supports the following off-cluster storage backends:

  • GCS
  • AWS/S3
  • Azure
  • Swift

Development

The Deis project welcomes contributions from all developers. The high level process for development matches many other open source projects. See below for an outline.

  • Fork this repository
  • Make your changes
  • Submit a pull request (PR) to this repository with your changes, and unit tests whenever possible
    • If your PR fixes anyissues, make sure you writeFixes #1234 in your PR description (where#1234 is the number of the issue you're closing)
  • The Deis core contributors will review your code. After each of them sign off on your code, they'll label your PR withLGTM1 andLGTM2 (respectively). Once that happens, a contributor will merge it

Docker Based Development Environment

The preferred environment for development usesthego-dev Docker image. The tools described in this section are used to build, test, package and release each version of Deis.

To use it yourself, you must havemake installed and Docker installed and running on your local development machine.

If you don't have Docker installed, please go tohttps://www.docker.com/ to install it.

After you have those dependencies, grab Go dependencies withmake bootstrap, build your code withmake build and execute unit tests withmake test.

Native Go Development Environment

You can also use the standardgo toolchain to build and test if you prefer. To do so, you'll needglide 0.9 or above andGo 1.6 or above installed.

After you have those dependencies, you can build and unit-test your code withgo build andgo test $(glide nv), respectively.

Note that you will not be able to build or push Docker images using this method of development.

Testing

The 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).

Theend-to-end tests repository has our integration tests. Additionally, the core contributors and members of the community also regularlydogfood 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.

Running End-to-End Tests

Please seeREADME.md on the end-to-end tests repository for instructions on how to set up your testing environment and run the tests.

Dogfooding

Please follow the instructions on theofficial Deis docs to install and configure your Deis Workflow cluster and all related tools, and deploy and configure an app on Deis Workflow.


[8]ページ先頭

©2009-2025 Movatter.jp