-
Notifications
You must be signed in to change notification settings - Fork 220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What is the role of CI/CD (and Tekton) in a developer's local workflow? #145
Comments
I've started this doc with my thoughts: CI/CD and the development workflow - not sure the best medium to discuss this, but starting a doc seemed like a good starting place? Open to other ideas! |
By developer's local workflow I mean "my daily/hourly work, running test, modifying code, compiling things, …". To quote the Tekton mission
My point is only that in that mission statement there is no "local" part, so this is not on tekton to do this, at least as the mission states it for now. Tekton can help but it's on the user and teams using it to do it correctly (but sharing stuff between their task and scripts, …). Should we change the mission statements ? Maybe, maybe not (I tend to like "simple mission statement"). |
I think it depends on what your goals are for development. If you are developing something like a 12 factor app then production should be close as possible to development. So, in this case I agree with @bobcatfish. However, not everything I develop needs to be as polished. 😓 |
I like the current Tekton mission - it has a narrow scope. But the developer workflow is indeed a real problem - that we as "business organizations and tekton users" face often - but this problem includes a bit more:
The config in config-repos listed above are likely handled by tools like Kustomize and Kpt - but may also be needed by Scaffold when deploying multiple apps to a namespace for confirming correct integration with other apps. Also, a developer workflow includes more - here it is important for very fast feedback cycles - e.g. incremental builds and incremental deployments - for speed - e.g. using Scaffold, Jib, Telepresence and/or possibly Bazel. But a developer would also like to confirm that the sources will pass the Pipeline before git-push - it is annoying when the local tools doesn't catch the problems that the Pipeline catch. Ideally as a developer writes code in the IDE - all checks that will be done in a Pipeline - might be triggered asynchronously in the background and if any problems occur - shows the problems in the IDE - but we are not there yet!? - even for e.g. integration-tests. Super fast feedback :) |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/remove-lifecycle rotten |
@vdemeester: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
I'd like to see this conversation through at some point but I think there's no sense of urgency (unless we start making decisions that preclude the possibility of supporting a "local" experience) /remove-lifecycle stale |
I totally support this initiative! If Tekton can help unify inner and outer loop, then it would be amazing. |
What about using tekton in combination with minikube in the local environment? |
we can do that today:
At present, a user will have to find a way to publically expose eventlisteners, if you want to add webhooks to a git repo. However, what we need is to reach an agreement on is that, how much of these use cases does Tekton support as part of its core mission. 🙂 I think |
Completely agree. Developers are no longer just "developers", but are expected to assume the larger role of DevSecOps. There is no way to be a true DevSecOps conscious "developer" without, from day 1, considering CI/CD as part of your actual application. Why should it not be available locally in IDEs or configurable in private repos. (if some org. could host a Tekton derived solution I am sure people would turn it on) as integrated into SCMS systems (non-git inclusive)? After all GitHub "actions" are taking off... the value of the full production-ready CI/CD needs to be articulated against ad-hoc linting. security scans, etc. perhaps even profiles made avail. (embodied as pipelines, with pluggable tasks). |
Yesterday @vdemeester demoed a way of having local Pipeline execution via build-kit! (Agenda with notes and link to recording - join tekton-dev for access) 🎉 🎉 🎉 |
To add to @bobcatfish's previous comment : it is called |
Signed-off-by: cpanato <[email protected]> Signed-off-by: cpanato <[email protected]>
In tektoncd/pipeline#2903 @vdemeester and I started discussing the role of Makefiles when using a Tekton based CI/CD workflow, and then we started talking about the potential differences between what CI/CD runs and what an engineer runs as part of their developer workflow.
I believe that being part of a developer's local workflow is in line with Tekton's mission but @vdemeester disagrees.
I'd like to discuss this further and establish:
The text was updated successfully, but these errors were encountered: