TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Earthly v0.6

116 点作者 vladaionescu超过 3 年前

11 条评论

vladaionescu超过 3 年前
Hello HN. Earthly is a tool for build automation and we just had our biggest release yet.<p>Earthly is a modern build solution that is similar to a sandboxed makefile. It works with your existing CI and the #1 reason people use it today is to able to reproduce a CI build locally.<p>Today we promoted a number of important features to GA status in our 0.6 release including:<p><pre><code> - WITH DOCKER : Earthly can execute any number of containers in parallel, via an isolated Docker daemon that it starts up within. - User-Defined Commands: Extract common repetitive build steps into a command you can use across your projects. - Shared Cache: Earthly v0.6 now provides shared caching. This extends our existing build caching to work in ephemeral CI runners by storing the cache in regular container registries. </code></pre> We started working on this project in 2020[1] on GitHub [2] and while time has gone quickly the number of people and projects using Earthly now is truly exciting.<p>Let me know what you think! Feature requests always welcome :)<p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22890612" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22890612</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;earthly&#x2F;earthly" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;earthly&#x2F;earthly</a>
cmckn超过 3 年前
I love earthly! It has been a joy to use.<p>One thing I haven’t gotten right is caching. Some of my builds have targets they depend on that are very expensive but rarely change, and I haven’t been able to make sense of when those targets are (re)computed and when they aren’t. This results in many builds taking a long time, when the targets could be reused from a cache.<p>Earthly is also missing something that I find to be a glaring omission from make—give me a command to simply list the targets in an Earthfile. ‘earthly ls’? Maybe have a column or two that indicates whether the target saves an image or artifact. When building a project I didn’t author, it’d be so helpful for the targets to be discoverable.
评论 #29417123 未加载
评论 #29417018 未加载
mastax超过 3 年前
&gt; The #1 reason people use Earthly today is to be able to reproduce CI builds locally. Earthly helps create a consistency layer, providing a level of guarantee that the build will run the same on your machine as on your colleagues machine, and as in CI. We call this consistency repeatability (note that this is distinct from reproducibility as full determinism is not guaranteed).<p>&gt; This helps avoid cases where tweaks to the CI script take long interaction cycles to test (git commit -m &quot;try again...&quot; anyone?)<p>Now you have my attention. I haven&#x27;t done much CI work and the long iteration times are the main reason why. I have to edit a file, commit, push, wait for CI to start, wait for CI to complete, search through 10k lines of logs to find the error, repeat... seriously? This is the best we can do? I assumed that I was missing something.<p>I should be able to just `gh run-ci` in a repository on my machine. Or take one of those fancy online dev environments that everyone&#x27;s making now and specialize it for editing CI files. Open an editor, let me click Run to run CI on-demand, have live error messages for syntax and missing variables, show a pane with a description of the CI jobs, show what config options are available for each job as it&#x27;s being edited. Then once the changes are working I can commit and open a PR.
评论 #29419268 未加载
junon超过 3 年前
Nice. Been looking for something like this - a Dockerfile equivalent that isn&#x27;t governed by the Docker folks, with whom I generally do not see eye to eye with.<p>Bookmarked for later. Glad someone is thinking about this problem space!
评论 #29417774 未加载
honkycat超过 3 年前
I tried using Earthly, great product.<p>Unfortunately, we rejected it at our organization due to how verbose the commands are. I want my users to be able to say `earthly plan-stage` for a terraform repo, and for it to work. But you cannot.<p>You cannot have earthly automatically use environment variables from your env, you have to explicitly list the commands yourself using flags:<p>$ earthly \<p><pre><code> --build-arg AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \ --build-arg AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \ --build-arg AWS_DEFAULT_REGION=us-west-2 \ --build-arg AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \ --build-arg AWS_SECURITY_TOKEN=$AWS_SECURITY_TOKEN \ +plan-stage </code></pre> This means if I want to `terraform plan` something, I need to explicitly set all of my AWS environment variables.<p>Compare this to `task plan-stage` or `make plan-stage`.<p>It is much too verbose and will only get worse as we add features to our pipelines.
评论 #29417763 未加载
评论 #29419754 未加载
评论 #29417949 未加载
评论 #29425642 未加载
评论 #29419239 未加载
akdor1154超过 3 年前
Oh geez.<p>Dockerfiles are reason #1 for docker&#x27;s popularity.<p>Shipping &#x27;the lot&#x27; so the artifact works everywhere is #2. This is incredibly inefficient for most use cases.<p>`docker pull random-shit` is #3.<p>Everything else it gives is largely immaterial, or maybe even a negative.<p>You guys are solving #1 and #3, and providing a better alternative to #2. I&#x27;m very excited for you and your project!
f0e4c2f7超过 3 年前
I haven&#x27;t tried the product but looks interesting.<p>I&#x27;ve actually been looking into nixos to generate docker containers after that repl post the other day.<p>Aside from the software itself I wanted to compliment you on this image.<p><a href="https:&#x2F;&#x2F;earthly.dev&#x2F;blog&#x2F;assets&#x2F;images&#x2F;earthly-v0-6&#x2F;earthly-foundational-layer.png" rel="nofollow">https:&#x2F;&#x2F;earthly.dev&#x2F;blog&#x2F;assets&#x2F;images&#x2F;earthly-v0-6&#x2F;earthly-...</a><p>I really appreciate how much context is added there for what earthly actually does or is trying to do. I&#x27;ll probably save that just to have it as an example to ask people to recreate when I&#x27;m baffled by their landing page.
wiradikusuma超过 3 年前
I think in your Articles &#x2F; Tutorials you should show how to migrate(?) e.g. a &quot;Hello World&quot; Maven project running in GitLab CI to Earthly. This will help people understand it better (from a concept they&#x27;re already familiar with).
评论 #29419859 未加载
givemeethekeys超过 3 年前
Why is it called &quot;earthly&quot;?
citilife超过 3 年前
How does this differ from Mesos?
评论 #29421858 未加载
somenewaccount1超过 3 年前
xkcd #927 irl.