Add developer guide
This commit is contained in:
		
							parent
							
								
									ae39bdcfce
								
							
						
					
					
						commit
						e2f567de85
					
				|  | @ -4,6 +4,8 @@ Kubernetes native Jenkins operator | ||||||
| 
 | 
 | ||||||
| ## Developer guide | ## Developer guide | ||||||
| 
 | 
 | ||||||
|  | Can be found [here][developer_guide] | ||||||
|  | 
 | ||||||
| ## TODO | ## TODO | ||||||
| 
 | 
 | ||||||
| - send Kubernetes events | - send Kubernetes events | ||||||
|  | @ -21,3 +23,5 @@ User configuration: | ||||||
| - apply custom configuration by configuration as a code Jenkins plugin | - apply custom configuration by configuration as a code Jenkins plugin | ||||||
| - trigger backup job before pod deletion | - trigger backup job before pod deletion | ||||||
| - verify Jenkins configuration events | - verify Jenkins configuration events | ||||||
|  | 
 | ||||||
|  | [developer_guide]:doc/developer-guide.md | ||||||
|  | @ -0,0 +1,79 @@ | ||||||
|  | # Developer guide | ||||||
|  | 
 | ||||||
|  | This document explains how to setup your dev environment. | ||||||
|  | 
 | ||||||
|  | ## Prerequisites | ||||||
|  | - [dep][dep_tool] version v0.5.0+ | ||||||
|  | - [git][git_tool] | ||||||
|  | - [go][go_tool] version v1.10+ | ||||||
|  | 
 | ||||||
|  | ## Download Operator SDK | ||||||
|  | 
 | ||||||
|  | Go to the [jenkins-operator repo][jenkins-operator] and follow the [fork guide][fork_guide] to fork, clone, and setup the local jenkins-operator repository. | ||||||
|  | 
 | ||||||
|  | ## Vendor dependencies | ||||||
|  | 
 | ||||||
|  | Run the following in the project root directory to update the vendored dependencies: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | $ cd $GOPATH/src/github.com/VirtusLab/jenkins-operator | ||||||
|  | $ make go-dependencies | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Build the Operator | ||||||
|  | 
 | ||||||
|  | Build the Operator `jenkins-operator` binary: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | $ make build | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Build the Operator `jenkins-operator` docker image: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | $ make build | ||||||
|  | $ make docker-build | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Run | ||||||
|  | 
 | ||||||
|  | Run locally with minikube: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | $ make minikube-run EXTRA_ARGS='--minikube --local' | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Testing | ||||||
|  | 
 | ||||||
|  | Run unit tests: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | $ make test | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Run e2e tests with minikube: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | $ make minikube-run | ||||||
|  | $ eval $(minikube docker-env) | ||||||
|  | $ make docker-build | ||||||
|  | $ make e2e E2E_IMAGE=<docker-image-builded-locally> | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | **Note:** running all tests requires: | ||||||
|  | - [docker][docker_tool] version 17.03+ | ||||||
|  | - [kubectl][kubectl_tool] version v1.10.0+ | ||||||
|  | - [minikube][minikube] version v0.30.0+(preferred Hypervisor - [virtualbox][virtualbox]) | ||||||
|  | 
 | ||||||
|  | See the project [README][jenkins-operator] for more details. | ||||||
|  | 
 | ||||||
|  | [dep_tool]:https://golang.github.io/dep/docs/installation.html | ||||||
|  | [git_tool]:https://git-scm.com/downloads | ||||||
|  | [go_tool]:https://golang.org/dl/ | ||||||
|  | [repo_sdk]:https://github.com/operator-framework/operator-sdk | ||||||
|  | [fork_guide]:https://help.github.com/articles/fork-a-repo/ | ||||||
|  | [docker_tool]:https://docs.docker.com/install/ | ||||||
|  | [kubectl_tool]:https://kubernetes.io/docs/tasks/tools/install-kubectl/ | ||||||
|  | [minikube]:https://kubernetes.io/docs/tasks/tools/install-minikube/ | ||||||
|  | [virtualbox]:https://www.virtualbox.org/wiki/Downloads | ||||||
|  | [jenkins-operator]:../README.md | ||||||
		Loading…
	
		Reference in New Issue