本記事のテーマはGitHub Actionsです。個人的に「もっと早く知りたかった!」と考えているグッドプラクティスを、厳選してお届けします。想定読者は次のとおりです。 普段GitHub Actionsを雰囲気で運用している人 GitHub Actionsをコピペや生成AIで乗り切っている人 他者が書いたコードの意味をより深く理解したい人 本記事でGitHub Actionsの基本は説明しません。グッドプラクティスを含めて基礎から学びたい人は、拙著『GitHub CI/CD実践ガイド』を読んでみてください。GitHub Actionsの基本構文から運用のコツまで、網羅的に解説しています。さて書籍紹介はこれぐらいにして、さっそく本題へ進みます。 GitHub Actionsの設計指針 GitHub ActionsはCI/CDや各種自動化で役立つ、汎用的なワークフローエンジンです。一般的に長期
概要 GitHub Actions で GitHub ホストランナーを使用する場合、パブリックポジトリは無料ですがプライベートリポジトリは従量課金(無料枠あり)です。 ワークフローを編集する際にデバッグしていると結構な時間を消費してしまいます。 そこでデバッグ時は GitHub ホストランナーを使わずに無料で実行する方法を 3 種類紹介します。 nektos/act 言わずと知れたローカル実行ツールです。 すべてを再現することはできませんがコミットを増やさずにデバッグができます。 注意点 ubuntu-* のみサポート ソフトウェアは指定する Docker イメージ依存、デフォルトのイメージだと色々足りないので -P で指定 secrets.GITHUB_TOKEN が未定義なので Personal Access Token を発行し設定が必要 サービスコンテナ services が使えな
Perl Hackers Hub 第65回依存モジュールの更新 ―update-cpanfile、GitHub Actionsで実現!(1) 本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは、はてなでマンガビューアを開発しているhitode909さんで、テーマは「依存モジュールの更新」です。 長期間にわたって開発・運用するアプリケーションでは、依存モジュールを管理し、最新版に更新することが重要です。本稿では、アプリケーションの依存モジュールの管理方針のグッドプラクティスと、ツールを使って継続的にモジュールを更新するための手法を紹介します。 本稿のサンプルコードは、執筆時点(2020年11月)の最新であるPerl 5.32.0で動作確認を行っています。本稿のサンプルコードは、WEB+DB PRESS Vol.120のサポートサイトから入手できます。 Perlの
DevOps エンジニアの 根本 征 です。 前回のエントリーでは GitHub Actions の self-hosted runners について紹介しました。 今回はそれらを活用したデプロイフロー(主に API / Frontend)の改善について紹介したいと思います。 これまでのデプロイフローと課題 GitHub Flow はどうか GitLab Flow とは git-pr-release + GitHub Actions を使った、リリース Pull Request の自動生成 GitHub Actions を使ってデプロイを行う 効果と課題 おわりに これまでのデプロイフローと課題 部署やサービスによって異なりますが、これまでのデプロイにまつわる環境は大まかに下記のような状況でした。 3つの環境 develop 環境(主に開発者が使う環境) staging 環境(本番リリース
bin/rspec --format progress --format RspecJunitFormatter --out report/rspec-${{ matrix.node_index }}.xml $(./split-test --junit-xml-report-dir report-tmp --node-index ${{ matrix.node_index }} --node-total 2 --tests-glob 'spec/**/*_spec.rb' --debug) [2021-01-08T07:12:09Z WARN split_test] Timing data not found: /home/runner/work/split-test-example/split-test-example/spec/1_spec.rb ... [2021-01-08T07
GitHub の issue で個人的なタスクを管理する方法を知った。 プログラマではないので普段から GitHub を使うことはないのだけれども、タスクの管理場所に迷っていたのでひとまず手を出してみようと思う。 毎日issueを作成するのも大変で、少しでもハードルを下げることを意識してGitHub Actionsで毎日自動的に作成するようにしてみた。 今回はその実現方法を記しておく。 issueのテンプレートを作成する まずはissueを作成するためのテンプレートを作成する。 これから始めるのでまずはシンプルなものを作成し、今後必要があればカスタマイズする方向で進める。 今回はworkリポジトリを作成し、配下に.github/ISSUE_TEMPLATE/todolist.mdを作成した。 --- name: TODO リスト about: 今日終わらせることの終了済み状態を書こう ti
弊社では GitHub のレポジトリ管理に Terraform GitHub provider を使用しています。 いちいち手元で terraform plan や terraform apply を叩くのは面倒なので、 GitHub Actions を利用することを考えました。 tf ファイルと現実のリソースとの不整合を避けるために、 これらのコマンドは排他的に実行する必要があります。 例えば terraform apply を実行している最中に terraform plan を実行することはできません。 ここで問題になってくるのが GitHub Actions のジョブ並列数です。 2020-12-30 現在、GitHub Actions は同時に 20 並列まで実行可能ですが、逆に並列数を制限できないという贅沢な悩みがあります。 一応 Matrix Build の並列数を制限するオプ
はじめに ※ この記事はLIFULL AdventCalendar 2020の19日目の記事として投稿されている可能性があります。 最近AWS re:Inventが開催されましたね。 エンジニアのみなさんが注目されているのがわかるほどにツイッターでも多くの情報がタイムライン上に飛び交っていました。 そんな中わたしも情報を追っていてすごくワクワクしながらみておりました。 その中でも私自身が一番アツいと思ったのはAWSLambdaのコンテナサポートですね。 AWSLambdaはサーバーについて気にすることなくコードをアップロードして実行できるため、とても使い勝手が良く非常に小さなソースコードの実行に向いているので使用される頻度は多いAWSサービスの一つだと思います。 その反面でソースコードは直接コードをGUI上で変更したりデプロイ時にzip化したファイルをアップロードするなどしてちょっと手間だ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く