Skip to content
Permalink
Browse files

Merge pull request #2954 from balopat/release/v0.39.0

cut v0.39.0
  • Loading branch information...
balopat committed Sep 26, 2019
2 parents 8d76287 + 282fc6d commit 4145d76cbccd0ea46ee31541f5f550368e257fa3
@@ -1,8 +1,89 @@
# v0.39.0 Release - 09/26/2019

*Note*: This release comes with a new config version `v1beta15`.
To upgrade your `skaffold.yaml`, use `skaffold fix`. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message.
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
The env vars `DIGEST`, `DIGEST_HEX` and `DIGEST_ALGO` now fail if found in `envTemplate` fields.

Highlights:

* We now include build args in the artifact cache hash generation [#2926](https://github.com/GoogleContainerTools/skaffold/pull/2926)
* Skaffold now passes the `--set-files` argument to the helm CLI: you can define `helm.release.setFiles` in the skaffold.yaml
* Skaffold now passes the `--build-args` arguments to kustomize: you can define `deploy.kustomize.buildArgs` in the skaffold.yaml

New Features:

* Optional pull secret for Kaniko [#2910](https://github.com/GoogleContainerTools/skaffold/pull/2910)
* Add Jib-Gradle support for Kotlin buildscripts [#2914](https://github.com/GoogleContainerTools/skaffold/pull/2914)
* Add graceful termination for custom builders [#2886](https://github.com/GoogleContainerTools/skaffold/pull/2886)
* Add docs and tutorial for buildpacks [#2879](https://github.com/GoogleContainerTools/skaffold/pull/2879)
* kustomize build args [#2871](https://github.com/GoogleContainerTools/skaffold/pull/2871)
* Add `setFiles` to `HelmDeploy.HelmRelease` skaffold config which will be add `--set-files` argument to helm CLI [#2895](https://github.com/GoogleContainerTools/skaffold/pull/2895)

Bug Fixes:

* fix flake TestGetSetFileValues [#2936](https://github.com/GoogleContainerTools/skaffold/pull/2936)
* Fix helm deployer with imageStrategy helm and fix test runner [#2887](https://github.com/GoogleContainerTools/skaffold/pull/2887)
* Include build args in cache hash generation [#2926](https://github.com/GoogleContainerTools/skaffold/pull/2926)
* Fix test flake TestPollResourceStatus [#2907](https://github.com/GoogleContainerTools/skaffold/pull/2907)
* Fix build script for doc generation. [#2884](https://github.com/GoogleContainerTools/skaffold/pull/2884)

Updates & Refactors:

* Create new v1beta15 config [#2881](https://github.com/GoogleContainerTools/skaffold/pull/2881)
* adding release comment management to all config.go [#2917](https://github.com/GoogleContainerTools/skaffold/pull/2917)
* Change final status check error message to be more concise. [#2930](https://github.com/GoogleContainerTools/skaffold/pull/2930)
* Add unimplemented 'skaffold render' command [#2942](https://github.com/GoogleContainerTools/skaffold/pull/2942)
* Bump golangci-lint to v0.19.0 [#2927](https://github.com/GoogleContainerTools/skaffold/pull/2927)
* Add pod resource with no status check implemented. [#2928](https://github.com/GoogleContainerTools/skaffold/pull/2928)
* added support for interface type in schema check [#2924](https://github.com/GoogleContainerTools/skaffold/pull/2924)
* add protos for status check [#2916](https://github.com/GoogleContainerTools/skaffold/pull/2916)
* Refactor Deployment common functions in to a Base struct in prep to pod [#2905](https://github.com/GoogleContainerTools/skaffold/pull/2905)
* Add missing T.Helper() in testutil.Check* as required [#2913](https://github.com/GoogleContainerTools/skaffold/pull/2913)
* Removing testing version dependent skaffold config test in examples [#2890](https://github.com/GoogleContainerTools/skaffold/pull/2890)
* rename hack/versions/cmd/new/new.go to hack/versions/cmd/new/version.go [#2882](https://github.com/GoogleContainerTools/skaffold/pull/2882)
* [Refactor] Move pollDeploymentStatus to resource.Deployment.CheckStatus [#2896](https://github.com/GoogleContainerTools/skaffold/pull/2896)
* init: Add default config name [#2668](https://github.com/GoogleContainerTools/skaffold/pull/2668)
* Upgrade jib to 1.6.1 [#2891](https://github.com/GoogleContainerTools/skaffold/pull/2891)
* Print deployment status after every 0.5 seconds. [#2866](https://github.com/GoogleContainerTools/skaffold/pull/2866)
* Fail PR if it has a structural schema change in a released version [#2864](https://github.com/GoogleContainerTools/skaffold/pull/2864)

Docs:

* add better docs for recreate pods [#2937](https://github.com/GoogleContainerTools/skaffold/pull/2937)
* added release comments manually [#2931](https://github.com/GoogleContainerTools/skaffold/pull/2931)
* add github pull request template [#2894](https://github.com/GoogleContainerTools/skaffold/pull/2894)


Huge thanks goes out to all of our contributors for this release:

- Aisuko
- Andreas Sommer
- Balint Pato
- Brian de Alwis
- Cedric Kring
- Chanseok Oh
- Cornelius Weig
- David Gageot
- Dominic Werner
- Jack Davis
- Marlon Gamez
- Medya Gh
- Michael Beaumont
- Nick Kubala
- Prashant Arya
- Priya Wadhwa
- Tad Cordle
- Tejal Desai
- Willy Aguirre


# v0.38.0 Release - 09/12/2019

*Note*: This release comes with a new config version `v1beta14`.
To upgrade your `skaffold.yaml`, use `skaffold fix`. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message.
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
The env vars `DIGEST`, `DIGEST_HEX` and `DIGEST_ALGO` won't work anymore in envTemplates.

New Features:

@@ -94,11 +94,4 @@ Commands and their flags are subject to the deprecation policy based on the foll


03/15/2019: With release v0.25.0 we mark for deprecation the `flags` field in kaniko (`KanikoArtifact.AdditionalFlags`) , instead Kaniko's additional flags will now be represented as unique fields under `kaniko` per artifact (`KanikoArtifact` type).
This flag will will be removed earliest 06/15/2019.

02/15/2019: With release v0.23.0 we mark for deprecation the following env variables in the `envTemplate` tagger:
- `DIGEST`
- `DIGEST_ALGO`
- `DIGEST_HEX`
Currently these variables resolve to `_DEPRECATED_<envvar>_`, and the new tagging mechanism adds a digest to the image name thus it shouldn't break existing configurations.
This backward compatibility behavior will be removed earliest 05/14/2019.
This flag will will be removed earliest 06/15/2019.
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -7,6 +7,87 @@ This is a simple example based on
* *tagging* using the default tagPolicy (`gitCommit`)
* *deploying* a single container pod using `kubectl`
## Before you begin
For this tutorial to work, you will need to have Skaffold and a Kubernetes cluster set up.
To learn more about how to set up Skaffold and a Kubernetes cluster, see the https://skaffold.dev/docs/getting-started[getting started docs].

To use buildpacks with Skaffold, please install the following additional tools:

* https://buildpacks.io/docs/install-pack/[pack]
* https://docs.docker.com/install/[docker]
## Tutorial

This tutorial will demonstrate how Skaffold can build a simple Hello World Go application with buildpacks and deploy it to a Kubernetes cluster.

First, clone the Skaffold https://github.com/GoogleContainerTools/skaffold[repo] and navigate to the https://github.com/GoogleContainerTools/skaffold/tree/master/examples/buildpacks[buildpacks example] for sample code:

```shell
$ git clone https://github.com/GoogleContainerTools/skaffold
$ cd skaffold/examples/buildpacks
```

Set the default buildpack to one that can build Go applications:

``` shell
$ pack set-default-builder heroku/buildpacks
```



Take a look at the `build.sh` file, which uses `pack` to containerize source code with buildpacks:

```shell
$ cat build.sh
#!/bin/bash
set -e
images=$(echo $IMAGES | tr " " "\n")

for image in $images
do
pack build $image
if $PUSH_IMAGE
then
docker push $image
fi
done
```

and the skaffold config, which configures artifact `gcr.io/k8s-skaffold/skaffold-example` to build with `build.sh`:

```yaml
$ cat skaffold.yaml
apiVersion: skaffold/v1beta14
kind: Config
build:
artifacts:
- image: gcr.io/k8s-skaffold/skaffold-example
custom:
buildCommand: ./build.sh
dependencies:
paths:
- .
deploy:
kubectl:
manifests:
- k8s-*
```
For more information about how this works, see the Skaffold custom builder https://skaffold.dev/docs/how-tos/builders/#custom-build-script-run-locally[documentation].

Now, use Skaffold to deploy this application to your Kubernetes cluster:

```shell
$ skaffold run --tail --default-repo <your repo>
```
With this command, Skaffold will build the `skaffold-example` artifact with buildpacks and deploy the application to Kubernetes.
You should be able to see "Hello, World!" printed every second in the Skaffold logs.

To clean up your Kubernetes cluster, run:

```shell
$ skaffold delete --default-repo <your repo>
```

ifndef::env-github[]
==== link:{github-repo-tree}/examples/buildpacks[Example files icon:github[]]

@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
googleCloudBuild:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
googleCloudBuild:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
tagPolicy:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
tagPolicy:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -28,3 +28,17 @@ include::deployment.yaml[]
----

endif::[]

=== Example: passing arguments to kustomize
:icons: font

This is an example demonstrating how additional arguments can be passed to the `kustomize build` command.

ifndef::env-github[]

[source,yaml, indent=3, title=skaffold-kustomize-args.yaml]
----
include::skaffold-kustomize-args.yaml[]
----

endif::[]
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
deploy:
kustomize: {}
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -1,4 +1,4 @@
apiVersion: skaffold/v1beta14
apiVersion: skaffold/v1beta15
kind: Config
build:
artifacts:
@@ -20,7 +20,7 @@ import (
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/schema/util"
)

// This config version is not yet released, it is SAFE TO MODIFY the structs in this file.
// !!! WARNING !!! This config version is already released, please DO NOT MODIFY the structs in this file.
const Version string = "skaffold/v1beta15"

// NewSkaffoldConfig creates a SkaffoldConfig

0 comments on commit 4145d76

Please sign in to comment.
You can’t perform that action at this time.