github action 5行のRails ciワークフロー
2897 ワード
数年前、マット・スワンソンはgreat post Githubアクションに対するRails CIの設定についてそれはすぐに新しいアプリのためのCIを設定するためのリファレンスへの私の移動になった.
時間が経つにつれて、私はいくつかの更新と調整をしたので、私は新しいプロジェクトを開始するたびに私は私の古いプロジェクトのいずれかからの設定をコピーします.しかし、これはそれぞれのプロジェクトが徐々に矛盾していることを意味し、一部は他よりも更新されました.
私はすべての私のアプリの1つの単一のベースワークフローを持っていたので、私は変更を行った場合は、すべてのアプリケーションは簡単にそれから恩恵を受ける可能性があります.
2021年11月、githubはReusable Workflows が一般的である.
GitHubアクションは長い間、複合的なアクションをサポートしていますが、再利用可能なワークフローは、より簡潔な構成を可能にし、個々のステップを個別に構築するのではなく、ワークフロー全体を他のリポジトリから参照する機能を可能にします.
Read more about it on GitHub’s blog .
出版したsetup-rails Railsアプリケーションのための迅速かつ容易にCIを有効にするための再利用可能なワークフローとして.
repoに単一のファイルを作成します.
ワークフローを実行するのは遅いかもしれませんが、依存関係がキャッシュされると、その後の実行はずっと速くなります.
私も共有しましたRailsbyte このコマンドを1つのコマンドで設定できます.
設計した
あなたのアプリケーションに応じて有効にすることができますいくつかのオプションがありますREADME 詳細は
現在Postgresだけがサポートされていますが、少なくともMySQLをカバーするために拡張したいと思います.
マットの偉大な出発点の上で、私はいくつかのアップデートを行いました: の最新バージョンを使用する サポートを追加する
Enabled Dependabot アクションの更新 用途 スキップする
私はすでに私のアプリのほとんどを使用していますが、私はより広いフィードバックを得るのが大好きだ.
してくださいsetup-rails あなたのアプリで、それはあなたのためにどのように動作するか知っている.問題とプルの要求は歓迎です!
時間が経つにつれて、私はいくつかの更新と調整をしたので、私は新しいプロジェクトを開始するたびに私は私の古いプロジェクトのいずれかからの設定をコピーします.しかし、これはそれぞれのプロジェクトが徐々に矛盾していることを意味し、一部は他よりも更新されました.
私はすべての私のアプリの1つの単一のベースワークフローを持っていたので、私は変更を行った場合は、すべてのアプリケーションは簡単にそれから恩恵を受ける可能性があります.
再利用可能なワークフロー
2021年11月、githubはReusable Workflows が一般的である.
GitHubアクションは長い間、複合的なアクションをサポートしていますが、再利用可能なワークフローは、より簡潔な構成を可能にし、個々のステップを個別に構築するのではなく、ワークフロー全体を他のリポジトリから参照する機能を可能にします.
Read more about it on GitHub’s blog .
セットアップレール
出版したsetup-rails Railsアプリケーションのための迅速かつ容易にCIを有効にするための再利用可能なワークフローとして.
repoに単一のファイルを作成します.
.github/workflows/verify.yml
, 以下の内容で、データベースを構成して、アプリケーションのテストを実行する作業CIワークフローを持つ必要があります.name: Verify
on: [push]
jobs:
verify:
uses: andyw8/setup-rails/.github/workflows/verify.yml@v1
ご覧くださいthis example app それを行動で見ること.ワークフローを実行するのは遅いかもしれませんが、依存関係がキャッシュされると、その後の実行はずっと速くなります.
私も共有しましたRailsbyte このコマンドを1つのコマンドで設定できます.
rails app:template LOCATION="https://railsbytes.com/script/VMys8A"
原理と構成
設計した
setup-rails
だから、ほとんどのアプリケーションに必要な設定なしで基本的なレベルで動作する必要があります.あなたのアプリケーションに応じて有効にすることができますいくつかのオプションがありますREADME 詳細は
現在Postgresだけがサポートされていますが、少なくともMySQLをカバーするために拡張したいと思います.
機能強化
マットの偉大な出発点の上で、私はいくつかのアップデートを行いました:
setup-node
and setup-ruby
rails test
(例: minitest )とrspecEnabled Dependabot アクションの更新
setup-rails
依存するsetup-node
’カスタムアプローチではなく、JavaScriptキャッシュdevelopment
不要な作業を避けるためにバンドルを実行するときの宝石.巻き込まれる
私はすでに私のアプリのほとんどを使用していますが、私はより広いフィードバックを得るのが大好きだ.
してくださいsetup-rails あなたのアプリで、それはあなたのためにどのように動作するか知っている.問題とプルの要求は歓迎です!
Reference
この問題について(github action 5行のRails ciワークフロー), 我々は、より多くの情報をここで見つけました https://dev.to/andyw8/a-github-actions-rails-ci-workflow-in-5-lines-230mテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol