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
こんにちは。ジョン・ヒョンジェです! GitHub Actionsを利用して、ReactプロジェクトをAmazon S3に自動でデプロイしてみましたので共有します。 はじめに GitHub ActionsはGitHubリポジトリを基盤にWorkflowを自動化させることができるCI/CDのツールです。 GitHub ActionsでのWorkflowとは実行する作業とその作業を実行する条件や順序を定義したもので、YAMLに作成されます。GitHubのMarketPlaceで他の人が作成したWorkflowを使うことができ、独自のWorkflowを作成することもできます。 GitHub Actionsを使うとコードのビルド、テスト、デプロイという面倒な過程を自動化させることができるので、開発者の負担を減らすことができます。 では、実際にGitHub Actionsを使ってReactプロジェク
Estrella is a lightweight and versatile build tool based on the fantastic esbuild TypeScript and JavaScript compiler. Rebuild automatically when source files change Build multiple projects at once, in parallel TypeScript diagnostics run in parallel TypeScript diagnostics are optional even for TypeScript projects Ability to remap TSXXXX TypeScript diagnostic severity levels, for example to treat so
Dockerビルド時にパラメータを与えたいときにDockerfileで定義し、–build-argオプションと合わせて使うARG。 それをどこに書くか考えたときに 最初に宣言されていたほうが読みやすい気もする それで不要なキャッシュミスが起こるとしたら嫌 と悩んだのでどういう仕様でどうすべきなのか調べてみました。 そもそも基本 ARGは書いた行以降で有効になります ↓なのでこういうのはエラーになります。 FROM alpine RUN touch $foo ARG foo ARGとキャッシュ 公式ドキュメントには、 ARGが変わった場合、(定義ではなく)最初の使用の時にキャッシュミスが起こる。ただし全てのRUNはARGの値を環境変数として暗黙的に使っているのでキャッシュミスを起こす。 というようなことが書かれています。 実験 ARGを最初に宣言 まずARGを上のほうで定義して、–build
Scala 2.13.2で-Wconfというオプションが追加されており、コンパイラが出力する警告を細かくカスタマイズすることができるようになっています。このオプションはScala 2.12系にもバックポートされており、Scala 2.12.13で利用可能です。 www.scala-lang.org たとえばScalaコンパイラは-deprecationオプションを指定すると非推奨のAPIの使用に対して警告を出力しますが、build.sbtに以下のような設定を追加することで、自動生成されたコードに対しては警告を出力しないようにできます。 scalacOptions := Seq( "-deprecation", "-Wconf:cat=deprecation&src=src_managed/.*:s" ) 指定方法は-Wconf:<filters>:<action>,<filters>:<a
Save the precious build minutes! Reusing build outputs with Git Tree Hash 🌳 Abstract: Do you spend a lot of time (and perhaps money) waiting for builds on the master branch, even though its contents are identical to the commit before you clicked that Merge Pull Request button? You may save time by caching your build output, using a Git Tree Hash (not to be confused with Commit Hash) as a cache ke
Gradleでマルチプロジェクトってどうやるんだろう?って公式ドキュメントを眺めて遊んだのでメモ。タイトルの通りの話。 Gradleって変化が速い印象ある。ので、しばらくするとこのやり方も非推奨になるのかもしれない。2021年2月時点のGradle 6.8.2のお話。 ❯ gradle -v ------------------------------------------------------------ Gradle 6.8.2 ------------------------------------------------------------ Build time: 2021-02-05 12:53:00 UTC Revision: b9bd4a5c6026ac52f690eaf2829ee26563cad426 Kotlin: 1.4.20 Groovy: 2.5.12 A
はじめに スクリプトファイルの命名 Kotlin と Groovy の言語上の考慮事項 Gradle init によるプロジェクト生成 プラグインの適用 プラグインの設定 タスクの構成 タスクの作成 依存の指定 よくある設定 はじめに Gradle 5.0 よりGradle Kotlin DSL が提供され、groovy によるビルドスクリプトを Kotlin で記載できるようになりました。 Kotlin でビルドスクリプトを書くことで、IDEによるサジェストやコードジャンプなどの恩恵を十分に受けることができますし、タイプセーフでありリファクタリングなども容易となるので、これから Groovy のビルドスクリプトを書くのであれば Gradle Kotlin DSL を使うべきです。 ここでは、Groovy DSL と Kotlin DSL の違いと Kotlin DSL でビルドスクリプト
関数 'function' で参照されている未解決の外部シンボル 'symbol' function のコンパイルされたコードは symbol への参照または呼び出しを行いますが、リンカーはライブラリまたはオブジェクト ファイル内のいずれにもそのシンボル定義を見つけることができません。 このエラー メッセージの後に、致命的なエラー LNK1120 が発生します。 エラー LNK1120 を修正するには、最初に LNK2001 エラーと LNK2019 エラーを修正する必要があります。 考えられる原因 このエラーを受け取る方法は多数あります。 これらはすべて、リンカーが解決できなかった、または定義を見つけられなかった関数や変数への参照を含んでいます。 コンパイラは、シンボルが宣言済でない場合は識別できますが、シンボルが定義済でない場合は識別できません。 これは、その定義が別のソース ファイル
はじめに Flutterのコマンドラインについてのまとめです。 Android StudioやVSCodeを使えば、普段はあまりコマンドを使うことが無いかもしれませんが…、個人的にはGUIで操作するよりもコマンドで操作した方が素早くて効率が良いです。 随時更新します!メジャーなものは網羅出来ていると思いますが、抜けているものがあればコメント下さい。プラグイン, テスト系はこれから充実させます。 Flutter環境セットアップ $ flutter precache FlutterのSDK内部では必要なデータをGoogleのインフラサーバーから必要なタイミングでダウンロードしていますが、それを意図的に行うためのコマンドです。普通のユーザは基本的に利用する必要がありません。 $ flutter doctor インストールバージョンやインストールされてないものが無いかなど、Flutter環境診断を
TypeScript became a standard for backend (Node.js) and frontend (Angular/React) development. The types it brings allow us to develop apps with the confidence that we won’t make any silly mistakes. It doesn’t relieve us from the responsibility of using best coding practices, but it does make developers’ lives a bit easier. Yet there is one downside of TS. It’s compile time. So, let’s talk about how
恥ずかしながら、わたしは雰囲気で kaniko にコンテナイメージのビルドをしてもらっていることに気づきました。1年以上 GitLab CI で kaniko を使っておきながら、ただ「特権コンテナを使わずにイメージつくれるやつ」くらいの認識しかしていなかったです。 続きの記事: Kanikoでcache=trueにするなら1コンテナ1ビルドで kaniko の cache=true オプション kaniko には --cache というフラグがあり、これを true にすることでコンテナのビルド時にキャッシュ保存するようになり、次回以降のビルドではそのキャッシュを使用するようになるため、コンテナイメージのビルド時間を短縮できます。 キャッシュは、コンテナレジストリ上に destinationのイメージリポジトリ名/cache というイメージリポジトリ名で格納されます。例えば gcr.io
ccacheを導入してUnityのiOSビルドを高速化出来ないか検証してみた を参考にさらに調査を進めたところ、Unityプロジェクトを再生成した場合でもうまくキャッシュヒットさせることができたため知見を共有します。 TL;DR 🎊 ccache を利用することで Unity の生成する Xcode プロジェクトのビルドを大幅に高速化することができます。 サンプルプロジェクトではビルド時間が 50% になりました。 🎊 Xcode プロジェクトを再生成してもキャッシュヒットするため、CI上でのビルドも高速化することができます。 🌀 いくつかの未検証項目があります。 特にUnity側のソースコードに変化を加えた場合のキャッシュヒット率については未調査です。 導入の手順 生成された Xcode プロジェクトの Build Settings の内容によって必要な手順が異なります。 具体的に
golang:alpine の Docker イメージで go run や go test を実行すると stdlib.h: No such file or directory の fatal エラーで叱られる。 たまに C がインポートできないと cgo からも叱られる。はたまた、musl や gcc がうんたらと叱られる。 「"golang" "alpine" fatal error: stdlib.h: No such file or directory」とググっても日本語で情報が出てこなかったので自分のググラビリティとして。 $ go test ./... Testing main package go: downloading ... ... # runtime/cgo exec: "gcc": executable file not found in $PATH FAIL gi
New Project 🐷 Porkybank: Track your daily budgetLearn to Code Like a DeveloperCodeamigo is an AI powered coding assistant that helps you learn to code like a developer. Today's developers didn't learn binary before learning Python, why should you learn how to code without the most modern tools?PSA: I will no longer be maintaining Codeamigo. I am working on a new project called Porkybank. It's a t
こんにちは、エンジニアチームの大橋と申します。 この度は JJUG CCC 2022 Spring に登壇いたしました。ご視聴いただいた皆様ありがとうございます。(登壇時の動画はこちら↓↓↓) 本稿では登壇時間内に説明しきれなかった詳細部分について、開発メンバーとまとめてみました。登壇をご視聴されていない方にもわかるように概要からまとめておりますので、ぜひご一読頂けたらと思います。 【発表の経緯】 当社のある開発プロジェクトにおいて開発ワークフローの改善を行いました。そのプロジェクトでは GitHub Actions で CI/CD を構築しています。開発初期に構築した CI/CD の仕組みを数ヶ月間運用して、いくつかの課題がみえてきました。運用してわかってきた課題に対して、どのようなアプローチで改善したか、改善後に実際の運用がどのように変わったかについてまとめます。 2022年3月7日に
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く