Skip to content

Commit

Permalink
Improve manual installation instruction for windows (#1883)
Browse files Browse the repository at this point in the history
* Mention that binary needs to be renamed on Windows

* Strip trailing whitespace in docs

Signed-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>

* Make sure release notes are created without trailing whitespace

* Add shebang line in release.sh

Signed-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>

* Remove trailing whitespace in usage string
  • Loading branch information
Cornelius Weig authored and balopat committed Mar 27, 2019
1 parent c9b35ba commit da0ce3b
Show file tree
Hide file tree
Showing 19 changed files with 191 additions and 189 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!--
<!--
Issues without logs and details are more complicated to fix.
Please help us by filling the template below!
-->
Expand Down
110 changes: 55 additions & 55 deletions CHANGELOG.md

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,11 @@ dispute. If you are unable to resolve the matter for any reason, or if the
behavior is threatening or harassing, report it. We are dedicated to providing
an environment where participants feel welcome and safe.

Reports should be directed to the maintainers, the Project Steward(s) for
Skaffold. It is the Project Steward’s duty to receive and address reported
violations of the code of conduct. They will then work with a committee
consisting of representatives from the Open Source Programs Office and the
Google Open Source Strategy team. If for any reason you are uncomfortable
Reports should be directed to the maintainers, the Project Steward(s) for
Skaffold. It is the Project Steward’s duty to receive and address reported
violations of the code of conduct. They will then work with a committee
consisting of representatives from the Open Source Programs Office and the
Google Open Source Strategy team. If for any reason you are uncomfortable
reaching out the Project Steward, please email opensource@google.com.

We will investigate every complaint, but you may not receive a direct response.
Expand Down
42 changes: 21 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,26 @@ provides building blocks and describe customizations for a CI/CD pipeline.
* Fast local Kubernetes Development
* **optimized source-to-k8s** - Skaffold detects changes in your source code and handles the pipeline to
**build**, **push**, and **deploy** your application automatically with **policy based image tagging** and **highly optimized, fast local workflows**
* **continuous feedback** - Skaffold automatically manages logging and port-forwarding
* **continuous feedback** - Skaffold automatically manages logging and port-forwarding
* Skaffold projects work everywhere
* **share with other developers** - Skaffold is the easiest way to **share your project** with the world: `git clone` and `skaffold run`
* **context aware** - use Skaffold profiles, user level config, environment variables and flags to describe differences in environments
* **CI/CD building blocks** - use `skaffold run` end-to-end or just part of skaffold stages from build to deployment in your CI/CD system
* skaffold.yaml - a single pluggable, declarative configuration for your project
* **CI/CD building blocks** - use `skaffold run` end-to-end or just part of skaffold stages from build to deployment in your CI/CD system
* skaffold.yaml - a single pluggable, declarative configuration for your project
* **skaffold init** - Skaffold discovers your files and generates its own config file
* **multi-component apps** - Skaffold supports applications consisting of multiple components
* **multi-component apps** - Skaffold supports applications consisting of multiple components
* **bring your own tools** - Skaffold has a pluggable architecture to allow for different implementations of the stages
* Lightweight
* Lightweight
* **client-side only** - Skaffold does not require maintaining a cluster-side component, so there is no overhead or maintenance burden to
your cluster.
* **minimal pipeline** - Skaffold provides an opinionated, minimal pipeline to keep things simple
* **minimal pipeline** - Skaffold provides an opinionated, minimal pipeline to keep things simple

## Install
Installation methods can be found in the [Getting Started Guide](https://skaffold.dev/docs/getting-started/#installing-skaffold).

See [Github Releases](https://github.com/GoogleContainerTools/skaffold/releases) for more information.

## Demo
## Demo

![](docs/static/images/intro.gif)

Expand All @@ -45,18 +45,18 @@ Skaffold simplifies your development workflow by organizing common development
stages into one simple command. Every time you run `skaffold dev`, the system

1. Collects and watches your source code for changes
1. Syncs files directly to pods if user marks them as syncable
1. Syncs files directly to pods if user marks them as syncable
1. Builds artifacts from the source code
1. Tests the built artifacts using container-structure-tests
1. Tags the artifacts
1. Pushes the artifacts
1. Deploys the artifacts
1. Monitors the deployed artifacts
1. Cleans up deployed artifacts on exit (Ctrl+C)
1. Cleans up deployed artifacts on exit (Ctrl+C)

What's more, the pluggable architecture is central to Skaffold's design, allowing you to use
the tool you prefer in each stage. Also, Skaffold's `profiles` feature grants
you the freedom to switch tools as you see fit depending on the context.
you the freedom to switch tools as you see fit depending on the context.

For example, if you are coding on a local machine, you can configure Skaffold to build artifacts
with local Docker daemon and deploy them to minikube
Expand All @@ -72,25 +72,25 @@ Skaffold supports the following tools:
* Dockerfile on cloud (Google Cloud Build)
* Bazel locally
* Jib Maven/Gradle locally
* Test
* Test
* with container-structure-test
* Deploy
* Deploy
* Kubernetes Command-Line Interface (`kubectl`)
* Helm
* kustomize
* Tag
* Tag
* tag by git commit
* tag by current date&time
* tag by current date&time
* tag by environment variables based template
* tag by checksum of the source code
* Push
* Push
* don't push - keep the image on the local daemon
* push to registry
* push to registry

![architecture](docs/static/images/architecture.png)


Besides the above steps, skaffold also automatically manages the following utilities for you:
Besides the above steps, skaffold also automatically manages the following utilities for you:

* forwards container ports to your local machine using `kubectl port-forward`
* aggregates all the logs from the deployed pods
Expand All @@ -100,7 +100,7 @@ Besides the above steps, skaffold also automatically manages the following utili

Documentation for latest release: http://skaffold.dev

Documentation for latest build: http://skaffold-latest.firebaseapp.com
Documentation for latest build: http://skaffold-latest.firebaseapp.com

## More examples

Expand All @@ -111,8 +111,8 @@ Check out our [examples page](./examples)
- [skaffold-users mailing list](https://groups.google.com/forum/#!forum/skaffold-users)
- [#skaffold on Kubernetes Slack](https://kubernetes.slack.com/messages/CABQMSZA6/)

There is a bi-weekly Skaffold users meeting at 9:30am-10am PST hosted on hangouts under "skaffold".
Everyone is welcome to add suggestions to the [agenda](https://docs.google.com/document/d/1mnCC_fAI3pmg3Vb2nMJyPk8Qtjjuapw_BTyqI_dX7sk/edit) and attend.
There is a bi-weekly Skaffold users meeting at 9:30am-10am PST hosted on hangouts under "skaffold".
Everyone is welcome to add suggestions to the [agenda](https://docs.google.com/document/d/1mnCC_fAI3pmg3Vb2nMJyPk8Qtjjuapw_BTyqI_dX7sk/edit) and attend.
Join the [skaffold-users mailing list](https://groups.google.com/forum/#!forum/skaffold-users) to get the calendar invite directly on your calendar.


2 changes: 1 addition & 1 deletion cmd/skaffold/app/cmd/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func NewCmdBuild(out io.Writer) *cobra.Command {
}
AddRunDevFlags(cmd)
cmd.Flags().StringArrayVarP(&opts.TargetImages, "build-image", "b", nil, "Choose which artifacts to build. Artifacts with image names that contain the expression will be built only. Default is to build sources for all artifacts")
cmd.Flags().BoolVarP(&quietFlag, "quiet", "q", false, "Suppress the build output and print image built on success. See --output to format output. ")
cmd.Flags().BoolVarP(&quietFlag, "quiet", "q", false, "Suppress the build output and print image built on success. See --output to format output.")
cmd.Flags().VarP(buildFormatFlag, "output", "o", "Used in conjuction with --quiet flag. "+buildFormatFlag.Usage())
return cmd
}
Expand Down
6 changes: 3 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Skaffold site
# Skaffold site

The site for the last stable release is on: http://skaffold.dev
The site for the last build from master is on: http://skaffold-latest.firebaseapp.com
The site for the last stable release is on: http://skaffold.dev
The site for the last build from master is on: http://skaffold-latest.firebaseapp.com
32 changes: 16 additions & 16 deletions docs/content/en/docs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,21 @@ provides building blocks and describe customizations for a CI/CD pipeline.
* Fast local Kubernetes Development
* **optimized "Source to Kubernetes"** - Skaffold detects changes in your source code and handles the pipeline to
**build**, **push**, and **deploy** your application automatically with **policy based image tagging** and **highly optimized, fast local workflows**
* **continuous feedback** - Skaffold automatically manages logging and port-forwarding
* **continuous feedback** - Skaffold automatically manages logging and port-forwarding
* Skaffold projects work everywhere
* **share with other developers** - Skaffold is the easiest way to **share your project** with the world: `git clone` and `skaffold run`
* **context aware** - use Skaffold profiles, user level config, environment variables and flags to describe differences in environments
* **CI/CD building blocks** - use `skaffold run` end-to-end or just part of Skaffold stages from build to deployment in your CI/CD system
* skaffold.yaml - a single pluggable, declarative configuration for your project
* **CI/CD building blocks** - use `skaffold run` end-to-end or just part of Skaffold stages from build to deployment in your CI/CD system
* skaffold.yaml - a single pluggable, declarative configuration for your project
* **skaffold init** - Skaffold discovers your files and generates its own config file
* **multi-component apps** - Skaffold supports applications consisting of multiple components
* **multi-component apps** - Skaffold supports applications consisting of multiple components
* **bring your own tools** - Skaffold has a pluggable architecture to allow for different implementations of the stages
* Lightweight
* Lightweight
* **client-side only** - Skaffold does not require maintaining a cluster-side component, so there is no overhead or maintenance burden to
your cluster.
* **minimal pipeline** - Skaffold provides an opinionated, minimal pipeline to keep things simple
* **minimal pipeline** - Skaffold provides an opinionated, minimal pipeline to keep things simple

## Demo
## Demo

![architecture](/images/intro.gif)

Expand All @@ -42,22 +42,22 @@ Skaffold simplifies your development workflow by organizing common development
stages into one simple command. Every time you run `skaffold dev`, the system

1. Collects and watches your source code for changes
1. Syncs files directly to pods if user marks them as syncable
1. Syncs files directly to pods if user marks them as syncable
1. Builds artifacts from the source code
1. Tests the built artifacts using [container-structure-tests](https://github.com/GoogleContainerTools/container-structure-test)
1. Tags the artifacts
1. Pushes the artifacts
1. Deploys the artifacts
1. Monitors the deployed artifacts
1. Cleans up deployed artifacts on exit (Ctrl+C)
1. Cleans up deployed artifacts on exit (Ctrl+C)

{{< alert title="Note" >}}
Skaffold also supports skipping stages if you want to.
Skaffold also supports skipping stages if you want to.
{{< /alert >}}

What's more, the pluggable architecture is central to Skaffold's design, allowing you to use
the tool you prefer in each stage. Also, Skaffold's `profiles` feature grants
you the freedom to switch tools as you see fit depending on the context.
you the freedom to switch tools as you see fit depending on the context.

For example, if you are coding on a local machine, you can configure Skaffold to build artifacts
with local Docker daemon and deploy them to minikube
Expand Down Expand Up @@ -89,22 +89,22 @@ Skaffold supports the following tools:

{{% tab "TAG POLICIES" %}}
* tag by git commit
* tag by current date&time
* tag by current date&time
* tag by environment variables based template
* tag by digest of the Docker image
{{% /tab %}}

{{% tab "PUSH STRATEGIES" %}}
* don't push - keep the image on the local daemon
* push to registry
{{% /tab %}}
* push to registry
{{% /tab %}}
{{% /tabs %}}


![architecture](/images/architecture.png)


Besides the above steps, Skaffold also automatically manages the following utilities for you:
Besides the above steps, Skaffold also automatically manages the following utilities for you:

* forward container ports to your local machine using `kubectl port-forward`
* aggregate all the logs from the deployed pods
32 changes: 16 additions & 16 deletions docs/content/en/docs/concepts/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,11 @@ Skaffold allows you to skip stages. If, for example, you run Kubernetes
locally with [Minikube](https://kubernetes.io/docs/setup/minikube/), Skaffold
will not push artifacts to a remote repository.

## Image repository handling
## Image repository handling

Skaffold allows for automatically rewriting image names to your repository.
This way you can grab a Skaffold project and just `skaffold run` it to deploy to your cluster.
The way to achieve this is the `default-repo` functionality:
This way you can grab a Skaffold project and just `skaffold run` it to deploy to your cluster.
The way to achieve this is the `default-repo` functionality:

1. Via `default-repo` flag

Expand All @@ -75,25 +75,25 @@ The way to achieve this is the `default-repo` functionality:
1. Via `SKAFFOLD_DEFAULT_REPO` environment variable

```bash
SKAFFOLD_DEFAULT_REPO=<myrepo> skaffold dev
SKAFFOLD_DEFAULT_REPO=<myrepo> skaffold dev
```

1. Via Skaffold's global config
1. Via Skaffold's global config
```bash
skaffold config set default-repo <myrepo>
```
If Skaffold doesn't find `default-repo`, there is no automated image name rewriting.
If Skaffold doesn't find `default-repo`, there is no automated image name rewriting.

The image name rewriting strategies are designed to be *conflict-free*:
The image name rewriting strategies are designed to be *conflict-free*:
the full image name is rewritten on top of the default-repo so similar image names don't collide in the base namespace (e.g.: repo1/example and repo2/example would collide in the target_namespace/example without this)
Automated image name rewriting strategies are determined based on the default-repo and the original image repository:
Automated image name rewriting strategies are determined based on the default-repo and the original image repository:
* default-repo does not begin with gcr.io
* **strategy**: escape & concat & truncate to 256
```
original image: gcr.io/k8s-skaffold/skaffold-example1
default-repo: aws_account_id.dkr.ecr.region.amazonaws.com
Expand All @@ -103,21 +103,21 @@ Automated image name rewriting strategies are determined based on the default-re
* default-repo begins with "gcr.io" (special case - as GCR allows for infinite deep image repo names)
* **strategy**: concat unless prefix matches
* **example1**: prefix doesn't match:

```
original image: gcr.io/k8s-skaffold/skaffold-example1
default-repo: gcr.io/myproject/myimage
rewritten image: gcr.io/myproject/myimage/gcr.io/k8s-skaffold/skaffold-example1
```
* **example2**: prefix matches:

```
original image: gcr.io/k8s-skaffold/skaffold-example1
default-repo: gcr.io/k8s-skaffold
rewritten image: gcr.io/k8s-skaffold/skaffold-example1
```
* **example3**: shared prefix:

```
original image: gcr.io/k8s-skaffold/skaffold-example1
default-repo: gcr.io/k8s-skaffold/myimage
Expand All @@ -135,20 +135,20 @@ provides built-in support for the following tools:

* **Build**
* Dockerfile locally, in-cluster with kaniko or using Google Cloud Build
* Bazel locally
* Bazel locally
* Jib Maven and Jib Gradle locally or using Google Cloud Build
* **Test**
* [container-structure-test](https://github.com/GoogleContainerTools/container-structure-test)
* **Tag**
* Git tagger
* Git tagger
* Sha256 tagger
* Env Template tagger
* Env Template tagger
* DateTime tagger
* **Deploy**
* Kubernetes Command-Line Interface (`kubectl`)
* [Helm](https://helm.sh/)
* [kustomize](https://github.com/kubernetes-sigs/kustomize)

And you can combine the tools as you see fit in Skaffold. For experimental
projects, you may want to use local Docker daemon for building artifacts, and
deploy them to a Minikube local Kubernetes cluster with `kubectl`:
Expand Down
Loading

0 comments on commit da0ce3b

Please sign in to comment.