You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ※ 本記事は WESEEK Tips wiki の記事 "/Tips/BuildKitによりDockerとDocker Composeで外部キャッシュを使った効率的なビルドをする方法" の転載です。 本記事を執筆したモチベーション Docker Hub の Automated Build 機能を GitHub Actions へ移行する機会がありました。 移行をするだけであれば GitHub Actions で docker コンテナをビルドすればよいのですが、せっかくなので BuildKit を調べて使ってみることにしました。 本記事
はじめに GitHub ActionsでDockerのコンテナをBuildするとデフォルトだとLayerのCache?がされないため、毎回Dockerfileの先頭から実行することになります(何も工夫をしないと)。 「LocalでBuildするときは(Cacheが効いて)速いんだけど、GitHub Actionsだと遅い」というのは、Buildに時間がかかる場合結構しんどいです(Twitterなどが捗ってしまう)。 色々方法があるようですが、Dockerのマルチステージビルドを使っていないなら、割と簡単にCacheを効かせられるようなので、そのメモです(主に自分用)。 ポイントは docker buildコマンドの --cache-from と --build-arg BUILDKIT_INLINE_CACHE=1 になります。また、このOptionを指定するには、BuildKitを有効に
Want to get started quickly? Check out the Slick site template! Slick is a static site generator written and configured using Haskell. It's the spiritual successor to my previous static-site generator project SitePipe; but is faster, simpler, and more easily used in combination with other tools. Slick provides a small set of tools and combinators for building static websites on top of the Shake bu
Linux Daily Topics 2021年6月29日Is NixOS Reproducible? ―NixOS、最小イメージのビルドを100%再現可能に NixOSプロジェクトチームは6月21日、NixOSの最小ISOイメージ(nixos.iso_minimal.x86_64-linux)について、どの環境でビルドしても、まったく同じバイナリイメージを100%再現できるようになったことを報告した。 Is NixOS Reproducible? Congratulations to the NixOS Reproducibility team who have made 100% of minimal ISO's store paths reproducible. This is the result of two years of hard work. What a wonderfu
Collected, curated and written by: Yoni Goldberg, Bruno Scheufler, Kevyn Bruyere and Kyle Martin Welcome to our comprehensive list of Docker best practices that are exemplified under the realm of Node.js. Note that each and every bullet has a link to detailed information and code examples. The entire list can be found in our repository Node.js Best Practices. It covers the basics but goes all the
Buck2, our new open source, large-scale build system, is now available on GitHub. Buck2 is an extensible and performant build system written in Rust and designed to make your build experience faster and more efficient. In our internal tests at Meta, we observed that Buck2 completed builds 2x as fast as Buck1. Buck2, Meta’s open source large-scale build system, is now publicly available via the Buc
In this guest blog post, OpenFaaS founder and Raspberry Pi super-builder Alex Ellis walks us down a five-year-long memory lane explaining how things have changed for cluster users. I’ve been writing about running Docker on Raspberry Pi for five years now and things have got a lot easier than when I started back in the day. There’s now no need to patch the kernel, use a bespoke OS, or even build Go
データエンジニアの@masaki925 です。 私が所属するデータ組織では、スタディサプリ本体に対して検索やレコメンドなどのデータプロダクトをマイクロサービスとして提供しており、その多くはPython がメイン言語です。 またデータ基盤としてBigQuery をはじめとしたGCP サービスを多く活用しています。 現在、私は2020年頃から新規プロジェクトに参画しており、そこでもPython とGCP をベースとした開発環境を構築しました。 私が開発環境に求めることは「TDD がしやすいこと」です。 これは平たく言うと、テストを書いて、実装して、CI/CD して、というサイクルを効率的に回すことです。当たり前のことを当たり前にやりたい、ただそれだけです。 今回、以下の環境でそれをやろうとしたらいくつか罠があったので記しておきます。 $ docker compose run poetry-do
If you are not redirected automatically, follow this link to example.com.
dockerを使ってJavaの開発しているとき、時折docker buildの遅さが気になる。 遅さというのは、ほぼ mvn package 実行時の依存解決にかかる時間に対して言っています。 というのも、例えば以下のようなDockerfileがあったとき # Dockerfile FROM maven:3.6.2-jdk-13 as builder COPY . /usr/src/ WORKDIR /usr/src/ RUN mvn -B package FROM openjdk:13-alpine COPY --from=builder /usr/src/target/example-1.0.0.jar / ENV CLASSPATH /example-1.0.0.jar ENTRYPOINT [] CMD ["java", "-jar", "Example"] 依存量にもよりますが、
This year, Microsoft Build 2020 is a digital-only event that we all get to experience from the comfort of our homes. We hope you enjoy learning about the new features and technologies that matter most to you. Today, I will have the privilege of sharing how developers can build apps for modern work using Microsoft 365 and Windows platforms. I will focus on 4 key areas of improvements to the Windows
A woman with a pixie haircut looking at a computer in an office environment, waiting for her code to compile. There's now a Part 2, where I cover a couple more options. Check it out here One of Rust's often mentioned pain points is slow compile times. In order to have nice things like the borrow checker, safety, and zero cost abstractions, we pay in time spent compiling. Web developers, especially
So, What's So Special About The Mill Scala Build Tool? Mill is a Scala build tool that offers an alternative to the venerable SBT toolchain. Mill aims for simplicity by reusing concepts you are already familiar with, borrowing ideas from Functional Programming and modern tools like Bazel. Feedback from users of Mill is often surprisingly positive, with people saying it is "intuitive" or feels "jus
前置き: ビルドごとにアプリの振る舞いを変えたいことがある アプリケーションコード(以下、アプリコード)に直接ハードコーディングせず、ビルド時に任意の環境変数を値として参照させたいケースがあります。 例えば Firebase のような SaaS を利用する際は、開発用と本番用とで別々の環境を用意することが多いでしょう。ということは開発時と本番デプロイ時とで異なる API Key をアプリコードに読み取らせねばなりません。 SaaS に限らず自前で開発するサーバにおいても開発時と本番デプロイ時とで疎通先が異なる場合は、 API の URL をビルド時にスイッチできるような仕組みが求められます。 https://dev-api.example.com/ # 開発環境用 https://stg-api.example.com/ # ステージング環境用 https://api.example.co
Poetryの使用感がとてもよく、Pythonでコードを書く際はPoetryが必須の体になってしまいました。 そこでPoetryはいいぞ!という話と、Poetryの簡単な利用方法をまとめたいと思い本記事を書き始めました。 Poetryに出会うまでのライブラリ管理 私は4年くらい前からPythonのコードを書くようになりました。 いろいろ試行錯誤した結果Poetryに行き着きましたが、それまでの経緯を軽くまとめます。 pip + requirements.txt requirements.txt は例として以下のような内容を記述したテキストファイルになります。 ファイル名は特に指定はありませんが requirements.txt としているプロジェクトをよく見ます。 # requirements.txt click==8.0.3 requests==2.27.1 使い方としては通常の pip
以前にCircleCIでUnityをテスト/ビルドする、或いは.unitypackageを作るまで、それとCIや実機でUnityのユニットテストを実行してSlackに通知するなどするという記事を書いたのですが、時代はGitHub Actionsということで、私も全体的にCircleCIからGitHub Actionsに移行を始めてまして、それに伴ってビルドスクリプトも最新化したので、紹介します。コンフィグ作成にあたっては【Unity】GitHub Actions v2でUnity Test Runnerを走らせて、結果をSlackに報告する【入門】とUnityをGitHub Actionsで動かす際にライセンス認証周りで注意するべき点も参考にしました。 実際のコンフィグは ZLogger/.github/workflows にありますが、Unityの部分だけ取り出して実行可能な形式にすると
Skip to main content A next-generation, progressive site generator & fullstack framework, powered by Ruby. Built upon venerated open source languages & technologies such as Ruby, Puma, Roda, and esbuild, Bridgetown puts power back in the hands of individuals to create extraordinary things. While your competitors are wrestling with complicated build tools, limited programming idioms, and mountains
Products Docker DesktopContainerize your applicationsDocker HubDiscover and share container imagesDocker ScoutSimplify the software supply chainDocker Build Cloud Speed up your image buildsTestcontainers Desktop Local testing with real dependenciesTestcontainers Cloud Test without limits in the cloud See our product roadmapMORE resources for developers
Urvashi Reddy | Software Engineer, Engineering Productivity Team Adam Berry | Tech Lead, Engineering Productivity Team Rui Li | Software Engineer, Engineering Productivity Team The Engineering Productivity team at Pinterest came across a small change that had a large impact in reducing build times across pipelines. We found that setting the refspec option during git fetch reduced our cloning step
はじめに こんにちは、モバイルエンジニアの中村(@Kyomesuke)です。 私が担当している kintone のモバイルアプリ(iOS)では、現在脱レガシーを目指して幾つかの課題に取り組んでいます。 その一つとして、パッケージマネージャーを CocoaPods から Swift Package Manager に移行するリファクタリングに挑戦していたのですが、この移行に際して一つ課題がありました。 kintone モバイルやサイボウズ Office 新着通知アプリなど、サイボウズのモバイルアプリには依存している外部ライブラリのライセンスを一覧表示する画面があるのですが、これまでその機能をAcknowListというライブラリを使用して実現していました。 しかし AcknowList は CocoaPods にしか対応していないため、Swift Package Manager に対応するため
追記 2021-02-14 Toolchains はまだ IDEA ではサポートされてないみたい。IDEA を使うときはこれまでの書き方をしておく方が良さそう。 Support detecting SDKs from Gradles toolchain support https://youtrack.jetbrains.com/issue/IDEA-252328 追記ここまで === 昨日、Gradleのことを書いたのだけど。そういえば、触ってる中でもうひとつ学んだことがあったので、今日はそれについて。今日もタイトルの通り。 bufferings.hatenablog.com 昨日も書いたけど、Gradleって変化が速い印象あるので、しばらくするとこのやり方よりも良いやり方が出てくるかもしれない。今日は、2021年2月時点のGradle 6.8.2のお話。 これまでの書き方 これまでは、
Create procedurally generated city maps in the style of American grid-based cities. More detailed documentation and instructions here. Support the project on Patreon Follow me on Twitter: @probabletrain View the source: Github What's New: 3D model export has just been released, Blender tutorial available here: https://maps.probabletrain.com/#/stl Using downloaded assets: Feel free to use downloade
こんにちは! SREの栗山です。 最近観て良かった映画は「コーダ あいのうた」です。 今回は弊社で使っているコンテナビルドを速くするためのテクニックを紹介します。 以下のような一般的なテクニックに関しては他でよく紹介されているので今回は割愛します。 Dockerfileでは変更が少ないものを上に、変更が多いものを下に定義し、キャッシュが効くようにする .dockerignoreをちゃんと定義する マルチステージビルドを活用する bundle installの結果をキャッシュする 弊社のサーバーサイドではRuby on Railsをメインで使っています。 そのためコンテナビルド時にbundle installをする必要がありますが、bundle installはとても時間がかかりますよね。 以下のようにしてしまうとCOPYしたファイルに変更があるたびにキャッシュが使われずbundle ins
TaPL(型システム入門 -プログラミング言語と型の理論-) は型システムについて体系的に学べる教科書です。 友人から「型周りちゃんと勉強したいならこれ読むと良いよ〜」と勧められ読んでいるのですが、正直何もわからんという状態なのでサンプルコード(実装)から本文を読み解いています。 この本にはサポートページが存在しており、implementations というセクションからサンプルコードを DL することができます。 ただしこのサンプルコードをそのまま読んでいくのは少し辛いところがあったのでそれを読みやすくできるようにするのが本記事の趣旨です。 TaPL のサンプルコードがやっていること 本文では構文の評価規則や型付け規則を実装していく例が乗っているのですが、配布されるサンプルコードでやっていることはコンパイラの自作です。 評価可能な形に変換したり、それをテストしたりするわけなので、字句解析
背景弊社では効率的で迅速な開発プロセスを維持するためにコンテナ技術を使用しています。 これまでもコンテナイメージのビルド時間を短縮するための改善を行ってきましたが、今回のDocker Build Cloudの導入により、ビルド時間を大幅に短縮することができました。この改善によって、プルリクエストごとの検証環境を迅速に作成し、デプロイフローをより速くすることが可能となりました。 成果まず最初に成果を共有します。 今回、Docker Build Cloudを活用することで、コンテナイメージビルド時間を劇的に短縮することに成功しました。具体的には、従来約6分30秒かかっていたイメージのフルビルド時間が、約1分10秒まで短縮されました。この結果、ビルド時間を80%削減することができました。 コンテナイメージビルドにおける課題今まではコンテナイメージビルドの高速化のため Registry cache
背景 Bazelは優れたビルドツールである一方で、導入したチームには1人はBazel職人が必要と言われるほどキャッチアップコストが高くハマったときに開発が止まると言われます。 そのためKubernetesからも削除されるほどです。 しかしながら導入の善し悪しを判断する上で最低限の知識は必要なので、一通りのことはできるようにとキャッチアップしてみます。 ちなみに発音は公式サイトでは「ベイゼル」とのこと。 How do you pronounce “Bazel”? The same way as “basil” (the herb) in US English: “BAY-zel”. It rhymes with “hazel”. IPA: /ˈbeɪzˌəl/ ref: FAQ | Bazel Bazelの特徴 Bazelの特徴として以下があります。 ビルドの再現性が保たれる サンドボッ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く