はじめに 最近GitHub Actionsの記事をよく見かけるので、試してみることにしました。 本稿は、GitHub Actionsにreviewdogを連携させた記事となります。 reviewdogとは 各種linterの実行結果をプルリクエストのコメントで指摘してくれます。 詳細な説明は作者様の記事を参照するのが良いです。 Reviewdog を飼ってコードレビューや開発を改善しませんか reviewdogは、GitHub Actionsに対応しており、GitHub Actionsのusesで指定できるコードが用意されております。 詳細は、Pubilc Reviewdog GitHub Actionsを参照してください。今回はreviewdog/action-eslintを活用します。 用意するサンプル 用意したリポジトリは以下のようなプロジェクトです reactプロジェクト git
SREの今です。 CircleCIやGitHub Actions等のCI/CDツールでデプロイの自動化に取り組む際に、意図しない本番反映の防止策として承認アクション(Manual approval)を挟んでおくことがあります。 GitHub Actionsでは、Environmentsを利用することでワークフローの実行前にレビューを必須化することが出来ます1。しかし、この機能をプライベートリポジトリで利用するにはリポジトリの所有者がGitHub Enterpriseを契約している必要があります2。 業務の都合上、Environmentsを利用できないリポジトリでManual approvalを利用したい機会があり、ワークフロー実行履歴を利用したManual approvalを実装したのでご紹介します。 本記事はSRE連載の12月号 + 面白法人グループ Advent Calendar 20
「GitHub for mobileとGitHub Actionsは、開発者の日常を変える最強の組み合わせ」:GitHub Universe 2019(2)(1/2 ページ) GitHubは、2019年11月にサンフランシスコで開催した年次イベント「GitHub Universe 2019」で、「あらゆる開発者にとっての『家』」というメッセージを示した。その具体的な意味は、今回のイベントを機に、大きく変わろうとしている。 GitHubは、2019年11月にサンフランシスコで開催した年次イベント「GitHub Universe 2019」で、「あらゆる開発者にとっての『家』」というメッセージを示した。これを耳に心地よい言葉を並べただけと受け取ることも可能だし、以前からGitHubが訴えてきたことと、基本的に変わらないようにも感じられる。だが、その具体的な意味は、今回のイベントを機に、大きく変
■ GitHub Actions がローンチされたのでマイグレートしてる GitHub が GitHub Actions という built-in CI/CD をローンチしたので夏休み1日目はひたすら触って完全理解していた。 https://github.com/features/actions これ、バックエンドは Azure Pipelines で public repository だと無料、並列数も 20 という内容なので他の CI サービスは CPU/RAM で殴り合いしても MS には勝てないので、Developer Experience(DX) で戦うしかなくなるんだけど、そこも GitHub がちゃんとハンドリングするだろうから、中期的にはとにかく厳しい戦いになると思う。てか、撤退じゃないかな...。 あと、以前にリリースした HCL バージョンの GitHub Actio
要約 GitHub Actions に Amazon ECS デプロイツール ecspresso と AWS Lambda デプロイツール lambroll を簡単にインストール action を用意しました。 steps で以下の指定をするだけです。(Linux 環境専用です) - uses: kayac/ecspresso@v0 - uses: fujiwara/lambroll@v0 もうちょっと詳しく これまで GitHub Actions の action は基本的に Node で書く必要があったのですが、やりたいことはバイナリをダウンロードして展開してコピーするだけなのになんで Node を書かないといけないのか……(Linux以外の環境を考えると仕方ないとはいえ)、と面倒くささが先に立って、これまで action を作らないままでした。 が、先日 Composite Run
diff-notebooks Notebookの差分をArtifactとして生成するdiff-notebooksをGithub Actionsとして公開しました。 github.com 想定する使い方はpull_requestをトリガーとするGithub Actionsへの組み込みです。 実行すると画面のようにNotebookの差分結果がArtifactとして保存されます。 中身はhtmlになっておりブラウザ上で開くとこのように差分を確認できるので、プルリクを受け取ったときのNotebookの差分チェックがGithub上の操作で完結します。 nbdiff-notebooksの中身 このGithub Actionsの中では、nbdiff-webで生成した差分のhtmlをファイルとして出力する自作ツールnbdiff-web-exporterを実行しています。 github.com nbdiff
GitHub Actions – Updating the default GITHUB_TOKEN permissions to read-only githubactionsworkflows February 2, 2023 Previously, GitHub Actions gets a GITHUB_TOKEN with both read/write permissions by default whenever Actions is enabled on a repository. As a default, this is too permissive, so to improve security we would like to change the default going forward to a read-only token. You can still f
ソースコードリポジトリーサービスのデファクトスタンダードと言っても良いGitHub。その日本法人であるギットハブ・ジャパン合同会社が、GitHub上で実装されたCI/CDソリューションGitHub Actionsに関する説明会を実施した。GitHub Actionsは、2018年のGitHub Universeで発表されたGitHubのワークフローを実装するための仕組みだ。 GitHub Actionsは発表の当初から「ワークフロー」というキーワードから連想される「CI/CD」領域への応用が噂されていたと言える。筆者は2018年11月に開催されたGitHub Universeにおいて、製品担当のVPに「GitHub ActionsはCI/CDツールになるのか?」という質問を行っていた。これに対しての回答は「YesでもありNoでもある」というものであった。 そもそもGitHub社内では「Sc
こんにちは!2017年11月にAndroidエンジニアとしてJoinした関根です。 最近、髪の毛を金髪にしました。近々Android Studioへの敬意を評して緑色に染め直そうかなーと考えております。 今回は、コネヒトのAndroidチームでGitHub Actionsを利用して実践している事例を紹介したいと思います。 この記事はコネヒト Advent Calendar 2019 7日目の記事です。 GitHub Actionsとは 本題に入る前に、簡単にGitHub Actionsについて紹介します。 GitHub Actionsは2019年11月に正式版となったGitHubの機能の一つです。 特定のイベントをトリガーにして、自動で一覧のプロセスを実行してくれます。 例えば、GitHubにブランチが作られた際にプルリクエストを自動で作成するというようなプロセスを実現できます。GitHu
EngineeringOpen SourceEnabling branch deployments through IssueOps with GitHub ActionsWhat if developers want to leverage branch deployments but don't have a full ChatOps stack integrated with their repositories? We wanted to set out to find a way for all developers to be able to take advantage of branch deployments with ease, right from their GitHub repository, and so the branch-deploy Action was
はてなで働くエンジニアにアンケートシリーズ第17回は、マンガアプリチームのiOS/Androidアプリエンジニア、id:ikesyoに話を聞きました。 本名から読みやすさ重視ではてなid化 フリーランス時代に勉強会で声を掛けられたのが入社のきっかけ iOSもAndroidも担当するが、専門性としては「iOSアプリ」「Swiftが得意な人」 チーム異動経験を生かして「架け橋的な役割」を意識 Renovate、GitHub Actionsの導入を推進し、チームに根付いてきた 大切にしているのは、意思決定の過程において納得感を醸成すること 「早く小さく失敗する」ことも意識していきたい 本名から読みやすさ重視ではてなid化 ── Q. はてなidとその由来を教えてください 本名が池田 翔(いけだ しょう)で、呼びやすく「だ」だけを抜いた「いけしょう」をあだ名化・id化しました。 ローマ字表記では「
GitHub Actions: Deprecating save-state and set-output commands actions October 11, 2022 24-July-2023 Update: Our telemetry shows significant usage of these commands so we have decided to postpone the removal. To learn more, visit the latest changelog post. To avoid untrusted logged data to use save-stateand set-output workflow commands without the intention of the workflow author we have introduce
注意: この記事は古くなっています。現在は正式リリースされています。ドキュメントはこちら 巷で話題になってるGitHub Actionsのid tokenでGCPにアクセスしてみた。 AWS federation comes to GitHub Actions | Aidan Steele’s blog (usually about AWS) これを参考に試してみた。 GCP側 以下、49482415725, ryotarai-github-oidc-sampleはproject number, project ID(このprojectは削除済み) cloud.google.com これを参考にWorkload Identityまわりの設定をする。 まず、IAM, Resource Manager, Service Account Credentials, and Security Tok
GitHub Actions: Skip pull request and push workflows with [skip ci] actions February 8, 2021 GitHub Actions now supports skipping push and pull_request workflows by looking for some common keywords in your commit message. If any commit message in your push or the HEAD commit of your PR contains the strings [skip ci], [ci skip], [no ci], [skip actions], or [actions skip] workflows triggered on the
Mackerelチームでアプリケーションエンジニアをやっているid:lufiabbです。 Mackerelでは、ホストのメトリックを送信するためのエージェントや各種プラグインなどをOSSとして公開しています。現在の公式サポートはヘルプにある対応環境の通りですが、サポート外ではあるもののFreeBSDや32bit Windowsなどにもプログラムを提供している場合があります。 こういったOSSの一部、特にGo言語で書かれたプログラムのCIをGitHub Actionsへ移行した際に、32bitバイナリの生成についていくつか調べたことがありますが、あまりインターネットで見かけない情報だったので、今回は一般的な情報として共有してみようと思います。 この記事では、ディスクの残り容量を調べるプログラムの64bit版と32bit版をLinux用とWindows用にビルドする方法を例に、以下の場合にそれ
EngineeringOpen SourceAutomating MySQL schema migrations with GitHub Actions and moreIn this deep dive, we cover how our daily schema migrations amounted to a significant toil on the database infrastructure team, and how we searched for a solution to automate the manual parts of the process. In the past year, GitHub engineers shipped GitHub Packages, Actions, Sponsors, Mobile, security advisories
GitHub Actionsの認定資格やGitHub Administrationの認定資格など、GitHub公式の認定資格制度が一般向けにスタート GitHubは、同社公式の認定資格制度として「GitHub Actions Certification」や「GitHub Administration Certification」などを一般向けに公開開始したと発表しました。 Unlock a world of opportunities with GitHub Certifications! Start learning and find out how you can supercharge your career, boost productivity, and amplify your salary. https://t.co/JIKuJdUnVt — GitHub (@github)
追記 年末にこの記事の内容も含めてgithub actionsをどう再利用するか総まとめしたのでそちらも併せてどうぞ!↓↓↓ この記事について 2021/11/24についにgithub actionsにReusable workflowsが実装されました。 まずは簡単にドキュメントをさらいながらポイントをまとめていこうと思います。 そもそも何が嬉しいのか これまでのgithub actionsではworkflowからactionを呼ぶことは可能だったものの、workflowから別のworkflowを呼ぶことはできませんでした。 workflowがひとつだけの場合そう問題にはならないのですが、同じworkflowの記述を使い回したい場合にはこれが問題になっていました。 例えば下記のようなworkflowを複数のリポジトリで使う場合、actions/checkout@v2とactions/se
こんにちは、YOUTRUST Webエンジニアの寺井(YOUTRUST/X)です。 YOUTRUSTでは、PR(Pull Request)の作成時やPRへのコメント時のSlack通知や、Asanaチケットに該当PRのURLを貼り付けるプロセスなどがGitHub Actionsによって自動化されています。 私はこれまでGitHub Actionsを使ったワークフロー構築の経験はなかったのですが、YOUTRUSTに入社してからこの半年間で、上記のプロセスに加えていくつかの開発プロセスの自動化に取り組んできました。 今回は、私が自動化に取り組んだプロセスをスクリプトと共に紹介したいと思います。 ① PRのAssigneeの選択 ② PRに対するLabelの付与 ③ リリースPRの作成 ①PRのAssigneeの選択 1.1 何をやったか PRを作成したときに自動でAssigneeが選択されるよう
Docker社は、WindowsやMacの上にDockerコンテナ環境を簡単に導入できる「Docker Desktop」の最新版となる「Docker Desktop 4.31」正式版をリリースしました。 Docker 4.31では主に以下のような新しい機能が追加されています。 エアギャップコンテナ 管理者がDocker Desktopのコンテナのネットワークに対してプロキシルールを設定することにより、プライベートネットワークへのアクセスを許可しつつインターネットへのアクセスを制限する、といったことが可能になり、よりセキュリティを強化できます。 Docker Build Cloudを利用したビルドの高速化 サブスクリプションに含まれているDocker Build Cloudの割り当て時間を適切に使うことで、マルチコンテナアプリや大規模なリポジトリでのビルド時間を短縮できます。 Arm on
GitHub ActionsからAWSを操作できると便利です。OIDC(OpenID Connect)を使えばアクセスキーも不要で、セキュアに運用できます。しかし複数システムにまたがる特性上、トラブルシューティングは面倒です。そこで本記事ではトレーサビリティを向上させ、メンテナンスしやすくする手法を紹介します。トレーサビリティが向上すれば、運用はもっと楽になります。 GitHub ActionsとAWSは赤の他人 当たり前ですが、GitHub ActionsとAWSはまったく異なるシステムです。何を言っているんだという感じですが、トレーサビリティの観点では重要です。なぜなら複数のシステムを扱うときは、トレースできるよう設計しないとトレーサビリティは生まれないからです。 GitHub ActionsやAWSに限らず、普通は他所様のシステムなど知ったこっちゃありません。このお互いに知らんぷりを
GitHub Actionsを使ってAndroidアプリをFirebase App Distributionへ配信するまでのベストプラクティスAndroidFirebaseGitHubActions はじめに どうも、GitHub Actions大好きな@tarumzuです。 今回はGitHub ActionsでAndroidアプリを配信する際のベストプラクティスな記事がなかなか無いなと思ったので、無いなら作ろう!という試みです。 例としてdev環境とstg環境の2つをApp Distributionで配信するという流れをGitHub Actionsで作ります。 コード 早速ですがコードの全文です。今回はタスク毎にJobを分けて対応しています。こちらのコードを順を追って説明していきます。 name: publish on: push: branches: # 今回はdevelopブランチを
広告技術部の yamayu です。 ホグワーツレガシーが気になっているのですがまだ手を出せていません。 映画はファンタビ以外は全部見ており、原作は 7 巻の上巻まで読んでいるため楽しめそうとは思っています。 さて、弊社ではこれまで CI/CD ツールとして CircleCI をメインに利用していたのですが、最近は GitHub Actions でも同等の機能が提供されるようになりつつあり、また GitHub の他の機能との連携が容易である等の理由から徐々に切り替えていくような動きがあります。 広告技術部で管理しているリポジトリも少しずつ GitHub Actions への移行を進めており、その中で CI/CD のプロセスの見直しを行いました。 結果として、CI の実行時間を大幅に短縮することができたので、今回はそのことについて書いていきます。 長い重い多いテスト テストの並列化 マルチノー
ソフトウェアワークフローを自動化してくれる「GitHub Actions」を悪用する形で、GitHubのサーバーが暗号資産(仮想通貨)マイニングに利用されていることが判明しました。 GitHub Actions being actively abused to mine cryptocurrency on GitHub servers https://www.bleepingcomputer.com/news/security/github-actions-being-actively-abused-to-mine-cryptocurrency-on-github-servers/ ニュースサイト・Bleeping Computerの報告によると、攻撃はまず、GitHub Actionsを有効にしている正当なリポジトリをフォークするところから始まり、フォークされたバージョンに悪意のあるコー
GitHub Actions の OpenID Connector と AWS の OIDC Provider を使うことで、IAM Role を Assume できるというのは前回書きました。 tech.guitarrapc.com 構築中によく出るエラーに関しても書いたのですが、いざ実際に使おうとしたら別のエラーではまったので忘れないようにメモしておきます。 tl;dr; GitHub Actions で並列実行すると時々失敗する。 configure-aws-credentials を1 jobで複数回呼び出したときに初回の認証を上書きできない 正常動作例1 正常動作例2 問題の動作 tl;dr; OpenID Connect で認証すると、AWS OIDC Provider の認証の上限に引っ掛かりやすい Composite Action の中で、 configure-aws-cr
GitHub Actions に Arm64 ランナーが来たので Docker のマルチプラットフォームイメージをビルドしてみる 2024/06/03 に GitHub Actions に Arm64 ランナーが追加されました。 現在はパブリックベータで、Team と Enterprise Cloud プランでのみ利用可能です。料金は x64 の同性能のランナーより 37% 安く、電力効率が高いため二酸化炭素排出量削減にもつながるとのことです。 この記事では、新しく追加された Arm64 ランナーを使って Docker のマルチプラットフォームイメージをビルドしてみます。 マルチプラットフォームイメージとは? マルチプラットフォームイメージとは、複数の異なる CPU アーキテクチャ(場合によっては異なる OS)のイメージを 1 つのイメージとして扱えるようにまとめたものです。マルチプラット
こんにちは、ライクル事業部 エンジニアの菊池@kichionです 去年(2021年)からフロントエンド環境の立ち上げを行い、現在はバックエンドに戻ってきて技術負債の解消などを中心にシステム改善を行っています ライクルでは早すぎたマイクロサービス化により、コードベースが30近いGithub repositoryに分散しており重複コードが散乱している状態でした 今回はコードベースの共通化策としてgolangで書かれた社内用のライブラリを配布する方法を紹介します 前提 外部API 開発言語 Github Organization 解決したかった問題 社内ライブラリ配布 配布フロー 各項目 配布元の構成 Github Actions workflow 配布先の構成 Github Actions workflow GOPRIVATE 終わりに 前提 外部API ライクルでは事業ドメインとしてGoog
GitHub Actions の Workflow や Workflow 用のスクリプトの変更を防いでセキュリティを改善するための OSS を開発しているので紹介します。 背景 GitHub Actions は非常に便利ですが、 Workflow を書き換えて任意のコマンドを実行できるという、セキュリティ的なリスクがあります。 例えば GitHub Actions で Terraform を実行して AWS や GCP の IaC を実現している場合、 Workflow を書き換えて terraform destroy を実行して インフラを破壊するといったことが考えられます。 GitHub App が使われている場合、 Workflow を書き換えて GitHub App で悪意のある Pull Request を approve したり、はたまた GitHub App で Pull R
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く