skaffold: "skaffold deploy" is not useful
I cannot figure out the use case for “skaffold deploy”.
This command is not able to populate the image tags. Without that, all it’s doing is corrupting the Deployments by deploying the tag-less images.
This command cannot use the result of “skaffold build” like this (as far as I know):
skaffold build > images.txt
skaffold deploy < images.txt
Without these functionality this command just appears like a kubectl apply that is not compatible with skaffold run to me.
Please consider either making “deploy” cmd work with “build” cmd or consider eliminating to avoid confusing users.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 16
- Comments: 17 (11 by maintainers)
Commits related to this issue
- Add two new flags, Inputfilepath, Outputfilepath 1. Inputfilepath: Inputfilepath flag, makes sure the file present exists. 2. Outputfilepath: Outputfilepath flag does not do any validation right now... — committed to tejal29/skaffold by tejal29 5 years ago
- Add two new flags, Inputfilepath, Outputfilepath 1. Inputfilepath: Inputfilepath flag, makes sure the file present exists. 2. Outputfilepath: Outputfilepath flag does not do any valida... — committed to tejal29/skaffold by tejal29 5 years ago
- Remove `PreBuiltImageBuilder` and make it a function instead. For #922, i am making changes to `skaffold deploy` to not run `skaffold build`. `--images` flag is only used `deploy` flow. The way it w... — committed to tejal29/skaffold by tejal29 5 years ago
- Remove `PreBuiltImageBuilder` and make it a function instead. For #922, i am making changes to `skaffold deploy` to not run `skaffold build`. `--images` flag is only used `deploy` flow. The way it w... — committed to tejal29/skaffold by tejal29 5 years ago
- Remove `PreBuiltImageBuilder` and make it a function instead. For #922, i am making changes to `skaffold deploy` to not run `skaffold build`. `--images` flag is only used `deploy` flow. The way it w... — committed to tejal29/skaffold by tejal29 5 years ago
- List of Changes 1. Add kubectl apply command after setting labels 2. Integration tests for helms are back a. #1823: Use env template in skaffold release name 3. During helm deploy, build is assume... — committed to tejal29/skaffold by tejal29 5 years ago
- List of Changes 1. Add kubectl apply command after setting labels 2. Integration tests for helms are back a. #1823: Use env template in skaffold release name 3. During helm deploy, build is assume... — committed to tejal29/skaffold by tejal29 5 years ago
- List of Changes 1. Add kubectl apply command after setting labels 2. Integration tests for helms are back a. #1823: Use env template in skaffold release name 3. During helm deploy, build is assume... — committed to tejal29/skaffold by tejal29 5 years ago
- Remove build dep for helm deploy On master, skaffold deploy fails with following error. ``` skaffold deploy -f examples/helm-deployment/skaffold.yaml Starting deploy... Error: release: "skaffold-hel... — committed to tejal29/skaffold by tejal29 5 years ago
My Implementation plan right now is
skaffold build --outputto write the produced build artifacts correctly. #1839skaffold deployto consume this output (--build-artifacts <build-output-file>)--build-artifactsto skaffold deploy and get rid of--images. This is a mandatory flag.skaffold buildinskaffold deployskaffold buildto tag images built.~ will track this as a new issue #2056Follow-up ideas:
skaffold deploycan infer--build-artifactsfrom git tagger or env tagger definition found inskaffold.yamlplus maybe leveraging the artifact cache locallyI think the right fix for this is that
skaffold deployshould also generate the tag through the git commit tagger (or env tagger).@rsanders yes, skaffold build already outputs the go template of the struct that deploy uses. Deploy should be able to read from that generated output
I imagine something like
or
or
Could
skaffold buildwrite the build artifact names to an output file that is also read byskaffold deploy? I see that it has support for outputting those, but it leaves the plumbing as an exercise for the user.We are using skaffold in our CD pipeline, and we like having “non-stable” components like build ID in the docker image tag. We also prefer to have separate build -> test -> deploy stages.
Eventually we might want to get rid of the “non-stable” taggers that rely on information from the build artifact itself
The first thing we are going to address is deploy should be able to consume build output and its easier if we first implement a
build.outbased approach.@pepjo we mention your use case in follow up ideas where
skaffold deploycan infer tags from git or an env variable.Is this issue linked to this one: https://github.com/GoogleContainerTools/skaffold/issues/1352 ?