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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Speeding Up Our Build Pipelines

59 点作者 pasxizeis超过 5 年前

8 条评论

plicense超过 5 年前
To summarize:<p>1. Your build pipeline has a lot of hermetic actions.<p>2. To speed it up, you execute these actions remotely on isolated environments, cache the results and reuse when possible.<p>Pretty neat.<p>You might want to look into <a href="https:&#x2F;&#x2F;goo.gl&#x2F;TB49ED" rel="nofollow">https:&#x2F;&#x2F;goo.gl&#x2F;TB49ED</a> and <a href="https:&#x2F;&#x2F;console.cloud.google.com&#x2F;marketplace&#x2F;details&#x2F;google&#x2F;remotebuildexecution.googleapis.com" rel="nofollow">https:&#x2F;&#x2F;console.cloud.google.com&#x2F;marketplace&#x2F;details&#x2F;google&#x2F;...</a> if you need a managed service to do just that.
peterwwillis超过 5 年前
I suggest a documentation cleanup. The initial README should have blurbs about who should use it, what it&#x27;s for, how it does it, and links to example use cases. A quick start guide steps a user through accomplishing a simple task, and links to extended documentation. Extended documentation is the reference guide to the latest code, and should be generated from the code. I would not suggest splitting documentation up into multiple places (a readme here, a lengthy blogpost there, plus discombobulated Wiki); all documentation should be accessible from a single portal, with filtering capabilities (search is incredibly difficult to make accurate, whereas filtering is easy and effective).<p>This whole solution seems like a very custom way to use docker. You can already create custom Docker images with specific content, use multi-stage builds to cache layers, split pipelines up into sections that generate static assets and pull the latest ones based on a checksum of its inputs, etc. I think the cost of maintaining this solution is going to far outweigh that of just using existing tooling differently.
评论 #20827785 未加载
rossmohax超过 5 年前
in Docker that would be something like<p><pre><code> COPY Gemfile Gemfile.lock &#x2F;src RUN bundle install </code></pre> even if they don&#x27;t use docker to run application in prod, it can be [ab]used to perform efficient build layer (build step) caching and distribution.
评论 #20822069 未加载
评论 #20797002 未加载
nstart超过 5 年前
Curious what the HN community feels is a &quot;slow deploy&quot;. I scanned the article first to find time reductions and still couldn&#x27;t see how much time was actually taken at the end of it.<p>11 minutes is a great time reduction. (11*30 builds a day = 5.5 hours saved in total).<p>But I still am not sure what constitutes as a slow builds. I assume at some point there&#x27;s an asymptotic curve of diminishing returns where in order to shave off a minute, the complexity of the pipeline increases dramatically (caching being a tricky example). So do y&#x27;all have any opinions on what makes a build slow for you?
评论 #20822054 未加载
评论 #20797691 未加载
arenaninja超过 5 年前
The first point isn&#x27;t so much a change in build pipelines as much as it is avoiding the build pipeline altogether and deploying prebuilt artifacts; I can&#x27;t think of a reason to re-run your build for prod if you have run it for another environment already. In other words recognizing that deployment and build stages are different.
评论 #20822946 未加载
siscia超过 5 年前
It&#x27;s actually touch a point very close to my work.<p>We definitely need much more speed in running our pipeline.<p>The software is mostly C&#x2F;C++ with a lot of internal dependencies.<p>Do you guys have any experience in that?<p>What is worth the complexity and what is not?
评论 #20796696 未加载
danielparks超过 5 年前
This is basically parallel-make as a service.<p>This has been an increasingly difficult problem as more and more pipelines move to containers for testing and building. What other solutions have folks come up with?
评论 #20796337 未加载
deboflo超过 5 年前
JavaScript bundles are often a bottleneck in web builds. I wish there were better ways to speed this up.
评论 #20797228 未加载