Comments (9)
cc @zhangtbj Were you looking for a similar experience ?
from build.
It may be also related to the local build support, comment here for a record: https://blogs.vmware.com/opensource/2020/11/17/buildkit-cli-for-kubectl/
(The kubectl plugin can build the Dockerfile locally and run the image on kube without pushing it to container registry)
from build.
I would like to have buildv2 integrate with our oc
tooling. The simplicity of oc new-app
and oc new-build
experience is something we should not lose.
from build.
It might make sense to bootstrap a new CLI focused on builds v2. This CLI could then become a oc
plugin and managed through krew
from build.
Hi @sbose78 and @siamaksade ,
Yes, After Release 0.1
, we plan to have the local(binary) support in build v2.
I also investigated and summarized the oc binary build in build v1 before:
I think it is a good way.
- But I remember we need provide an additional
upload service/controller
to support to upload the source code archive file from local to server side. - And it is better there is an individual CLI (which can be a plugin of
oc
), so that the build v2 user from community can use it directly with download the full capabilitiesoc
CLI
What do you think? :)
from build.
In discussion with @sbose78 @gabemontero @coreydaley-redhat @otaviof and @siamaksade, we think that the CLI should have a similar new-build
experience that helps developers create a Build
object. The broader new-app
functionality is beyond the scope of this project.
from build.
Hi @gabemontero ,
Thanks for the info, I took a look at the Binary Build proposal in this document: https://docs.google.com/document/d/1wo7-tdssRdEHSGX5D6fCbJXEs7ghawRnQOq1WgaSUUA
If I understand you correctly, you prefer to use https://github.com/rhuss/buildah-poc as PoC for build v2, is that correct?
We also did some investigation before and had a try the buildah-poc, I think kubectl cp
performance maybe is not good: #97 (comment)
So I am wondering:
- Can we use another sync way (like ksync: https://github.com/ksync/ksync) to sync or upload the binary from client to server side better, or leverage
OpenShift BuildConfig Binary-Builds
in build v1, to have a similar upload service or a REST API in our build v2 side to help receive and get binary from local? - Can we use the Tekton condition (https://github.com/tektoncd/pipeline/blob/master/docs/conditions.md) to check if the binary is uploaded to server side correctly
- For the upload service, I think we also need to consider, do you need one build service or pod to receive the bianry and do the build for each buildrun, or do we want to use a central upload service as a kube service to serve the upload request for all buildruns.
Above are just my thinking, we can think about or discuss later together.
from build.
Hi @gabemontero ,
Thanks for the info, I took a look at the Binary Build proposal in this document: https://docs.google.com/document/d/1wo7-tdssRdEHSGX5D6fCbJXEs7ghawRnQOq1WgaSUUA
If I understand you correctly, you prefer to use https://github.com/rhuss/buildah-poc as PoC for build v2, is that correct?
No, I don't necessarily have a preference. That most likely was something from @otaviof at least that is my assumption.
We should definitely iterate on the implementation details. Including what you have below.
My preferences if any revolve more around what NOT to do, namely we should hopefully be able improve upon on how it was done with OpenShift Builds V1, which I provided the details for how it was done in the document. The approach used there stems in part from when it was implemented and what was and was not available in k8s at the time.
We also did some investigation before and had a try the buildah-poc, I think
kubectl cp
performance maybe is not good: #97 (comment)So I am wondering:
* Can we use another sync way (like ksync: https://github.com/ksync/ksync) to sync or upload the binary from client to server side better, or leverage `OpenShift BuildConfig Binary-Builds` in build v1, to have a similar upload service or a REST API in our build v2 side to help receive and get binary from local? * Can we use the Tekton condition (https://github.com/tektoncd/pipeline/blob/master/docs/conditions.md) to check if the binary is uploaded to server side correctly * For the upload service, I think we also need to consider, do you need one build service or pod to receive the bianry and do the build for each buildrun, or do we want to use a central upload service as a kube service to serve the upload request for all buildruns.
Above are just my thinking, we can think about or discuss later together.
from build.
So since I opened this a year and a half ago, some things have changed:
- https://github.com/shipwright-io/cli now exists
- it already some analogous capabilities wrt pointing it to source repos ... see https://github.com/shipwright-io/cli/blob/e3e829781fe4195511ed737bbbb1ded8b20fedce/pkg/shp/cmd/build/create.go#L27
- local build based dev is in progress under other github issues
-- see shipwright-io/cli#35 from @HeavyWombat
-- see shipwright-io/community#11 and the prototypes demoed there by @otaviof
Hence, I think this umbrella item I opened way back when is past its usefulness.
Any remaining items in my opinion in mapping oc new-build / new-app
capabilities I at least are dependent on analogous imagestream support i.e. shipwright-io/community#25 from @imjasonh based on @ricardomaraschini grass root efforts, where we "pick" the builder / base image based on source code analysis of the remote/local repo being used. CLI items would in theory stem from that.
So I closing this out
from build.
Related Issues (20)
- [FEATURE] Move Readme Try It Section to BETA HOT 5
- [FEATURE] v0.13 Bump Tekton and Kubernetes dependencies
- [FEATURE] Document usage of OCIArtifact source type HOT 2
- [BUG] Endless reconcile of build when strategy kind is unknown
- [SHIP-0038] Use Release Branches for Releasing HOT 4
- [tech-debt] Release Workflow Action No Longer Maintained
- [BUG] BuildStrategy: Cannot Use Context Dir as Working Directory HOT 4
- [FEATURE] Conditional step HOT 1
- [FEATURE] Build Strategy from Tekton Task/Pipeline HOT 1
- [BUG] Automatic release README update needs to be fixed HOT 4
- [FEATURE] Provide Storage Version Migration from v1alpha1 to v1beta1 HOT 1
- [BUG] git clone issue on newest Git version HOT 3
- [FEATURE] Windows Containers/Node Support HOT 2
- [FEATURE] Support another technology to define and orchestrate the image creation inside a pod HOT 2
- [BUG] Unit tests run fine with `go test`, but fail when used with Ginkgo CLI HOT 1
- SHIP-0039: Allow node selector on `Build` and `BuildRun` to be set HOT 7
- SHIP-0039: Allow tolerations on `Build` and `BuildRun` to be set
- SHIP-0039: Allow custom scheduler to be used for `Build` and `BuildRun`
- [FEATURE] Establish a release cadence based on Tekton LTS releases HOT 2
- [BUG] The container name for shipwright build webhook doesn't match the environment variable HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from build.