Comments (1)
Thanks for your thorough feature request! I certainly see the benefits to this idea: Less commands for the developer to run, and a simpler path to automation and cloud compute from local dev pipelines. This idea is important to me, and I agree that we need better tooling in this space.
You also rightly point out the reasons not to implement this in Dud: Dud strives to do one thing well and exist orthogonally to other engineering tools such as source control systems and cloud provider APIs. Because Dud strives to be a good UNIX citizen, I think the best way to accomplish your goal is to wrap Dud in shell scripts. For example, here's a pseudocode shell script derived from your steps above:
git fetch
git checkout $COMMIT_SHA
dud pull [stage(s) in question]
dud run [stage(s) in question]
dud commit [...]
git commit -am 'automated commit ...'
dud push [...]
git push
This script template could also be run in most CI/CD systems, thus abstracting the orchestration for developers.
I agree that this approach isn't perfect. As you point out above, Dud still requires artifacts to be staged locally, so developers have to think carefully about local caching and network speeds and costs. To address these drawbacks, my current opinion is that a new "cloud native" tool should be created, and Dud is not this tool. I'm still stewing on this idea, but I'd be happy to keep chatting about it.
For now, please consider the shell script approach as the recommended way to "extend" Dud's interoperability with source control and other systems. I'm going to close this issue, but please feel free to continue using it as a discussion thread. Thanks again for the feedback; I really appreciate it!
from dud.
Related Issues (20)
- add diff command to summarize the differences between two cached artifacts HOT 1
- empty sub-directories not included in directory status output
- status: add flag to skip byte-level equality checks
- Improve data integrity for misbehaving users HOT 4
- data is missing from workspace HOT 1
- How do you add a directory? HOT 2
- checkout: add flag to delete artifacts prior to checkout
- commit does not work properly in certain situation: 'expected regular file' HOT 1
- Wrong symlinks when fetch / checkout is done from symlinked folder HOT 7
- Multiple stages per file HOT 5
- Print out the command before running it
- Don't mess with yaml formatting while checksumming HOT 1
- Incorrect file type: directory HOT 2
- can't copy - source file is being updated HOT 1
- add a `--leaves-only` option to only operate on stages without downstream dependencies
- Support operation on a sub-tree of stages
- Add command to list all committed artifacts (i.e. checksums) for a given stage
- Add ability to configure rclone parameters
- status: show progress when doing byte-level checks 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 dud.