Commit 0f80a114 authored by Darren Shepherd's avatar Darren Shepherd Committed by Erik Wilson

Add rebase instructions

parent 1ba3e987
# Kubernetes
[![GoDoc Widget]][GoDoc] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/569/badge)](https://bestpractices.coreinfrastructure.org/projects/569)
<img src="https://github.com/kubernetes/kubernetes/raw/master/logo/logo.png" width="100">
----
Kubernetes is an open source system for managing [containerized applications]
across multiple hosts; providing basic mechanisms for deployment, maintenance,
and scaling of applications.
Kubernetes builds upon a decade and a half of experience at Google running
production workloads at scale using a system called [Borg],
combined with best-of-breed ideas and practices from the community.
Kubernetes is hosted by the Cloud Native Computing Foundation ([CNCF]).
If you are a company that wants to help shape the evolution of
technologies that are container-packaged, dynamically-scheduled
and microservices-oriented, consider joining the CNCF.
For details about who's involved and how Kubernetes plays a role,
read the CNCF [announcement].
----
## To start using Kubernetes
See our documentation on [kubernetes.io].
Try our [interactive tutorial].
Kubernetes without the features I don't care about.
Take a free course on [Scalable Microservices with Kubernetes].
Rebase Instructions
-------------------
## To start developing Kubernetes
## Patch rebase
The [community repository] hosts all information about
building Kubernetes from source, how to contribute code
and documentation, who to contact about what, etc.
These are instructions for rebasing a patch version. For example if the current
k3s k8s version is v1.13.3 and v1.13.4 comes out these are the procedures on how
to rebase and create a new release. If v1.14 comes out that procedure is different.
If you want to build Kubernetes right away there are two options:
The below instructions will use the example of rebasing from v1.13.3 to v1.13.4.
For git commands the remote `rancher` is github.com/rancher/k3s and the remote
`upstream` refers to github.com/kubernetes/kubernetes
##### You have a working [Go environment].
```
$ go get -d k8s.io/kubernetes
$ cd $GOPATH/src/k8s.io/kubernetes
$ make
* Create a branch in github.com/rancher/k3s called k3s-${VERSION} that is branched
from the upstream tag ${VERSION}.
```bash
VERSION=v1.13.4
git fetch upstream
git checkout -b k3s-${VERSION} ${VERSION}
git push rancher k3s-${VERSION}
```
##### You have a working [Docker environment].
* Start rebase
```bash
OLD_VERSION=v1.13.3
VERSION=v1.13.4
git fetch rancher
git checkout k3s-${VERSION}
git reset --hard rancher/k3s-${OLD_VERSION}
git rebase -i ${VERSION}
```
$ git clone https://github.com/kubernetes/kubernetes
$ cd kubernetes
$ make quick-release
* When presented with the patch edit screen you want to drop an commit titled
"Update Vendor" or a version commit like "v1.13.3-k3s.6"
* Continue rebase and resolve any conflicts.
* Run the below to update vendor and apply tag
```bash
VERSION=v1.13.4
./deps.sh && ./tag.sh ${VERSION}-k3s.1
```
For the full story, head over to the [developer's documentation].
## Support
If you need support, start with the [troubleshooting guide],
and work your way through the process that we've outlined.
That said, if you have questions, reach out to us
[one way or another][communication].
[announcement]: https://cncf.io/news/announcement/2015/07/new-cloud-native-computing-foundation-drive-alignment-among-container
[Borg]: https://research.google.com/pubs/pub43438.html
[CNCF]: https://www.cncf.io/about
[communication]: https://git.k8s.io/community/communication
[community repository]: https://git.k8s.io/community
[containerized applications]: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
[developer's documentation]: https://git.k8s.io/community/contributors/devel#readme
[Docker environment]: https://docs.docker.com/engine
[Go environment]: https://golang.org/doc/install
[GoDoc]: https://godoc.org/k8s.io/kubernetes
[GoDoc Widget]: https://godoc.org/k8s.io/kubernetes?status.svg
[interactive tutorial]: https://kubernetes.io/docs/tutorials/kubernetes-basics
[kubernetes.io]: https://kubernetes.io
[Scalable Microservices with Kubernetes]: https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615
[troubleshooting guide]: https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/README.md?pixel)]()
* Update the README.md with anything that might have changed in the procedure
* Put in PR to github.com/rancher/k3s k3s-${VERSION} branch
* After merge apply ${VERSION}-k3s.1 tag in github then vendor into k3s
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment