並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 3686件

新着順 人気順

github-actionsの検索結果361 - 400 件 / 3686件

  • コードフォーマッターをPrettierからdprintにしたら10倍以上速くなった話🚀 - KAKEHASHI Tech Blog

    はじめに こんにちは!ソフトウェアエンジニアの種岡です。 私たちのチームでは、TypeScriptを使用して開発を行っており、Prettierというコードフォーマッターを利用し、チーム内でコーディングスタイル統一に大変重宝しています。 そんなフォーマッター界隈で、Rust製で爆速で動作すると噂のdprintが良いということで試してみたところ、驚くべきことが起きました! Prettierでは、コードフォーマッティングに 7.69秒 かかっていたのですが dprintを使うことでわずか 0.47秒 で完了するようになりました🚀🚀🚀 なんと、 10倍以上速い とういう結果に! コードフォーマットは、Gitのpre-commitフックやGitHub Actionsで日々活用しており、普段の開発作業の裏側でコードの品質を支えてくれているありがたい存在です。 この速度改善により、開発プロセスの中

      コードフォーマッターをPrettierからdprintにしたら10倍以上速くなった話🚀 - KAKEHASHI Tech Blog
    • E2Eテストワークフローを高速化・安定化させる取り組み | ドクセル

      スライド概要 GitHub Actions Meetup Tokyo #3 https://gaugt.connpass.com/event/317178/ このプレゼンテーションでは、サイボウズ社のGaroonのE2Eテストについて、GitHub Actions self-hosted runner 上で実行していたE2Eテストを高速化・安定化させるために取り組んだこと、E2Eテストワークフローの視点の改善アイディアについて話されます。GaroonのE2Eテストにおける実行時間とFlakyが問題となっており、その改善に取り組んだ内容が紹介されています。 おすすめタグ:GitHub Actions,E2Eテスト,self-hosted runner,Garoon,テストワークフロー

        E2Eテストワークフローを高速化・安定化させる取り組み | ドクセル
      • セキュアなソフトウェアを、共に開発する

        ソフトウェアは、私たちの身の回りにある、あらゆるものに力を与えています。私たちが作るもの、服用する薬、そして摂取する食べ物ですら、その背後にはソフトウェアが存在しています。これから起こる飛躍的な進歩のすべてが、ソフトウェアの力を借りて成し遂げられることでしょう。ソフトウェアが使用されいないものを見つけることは、これからますます難しくなっています。 ソフトウェアが世界に力を与える存在であるならば、オープンソースはその鼓動を打つ心臓です。現在、すべてのソフトウェアプロジェクトの99%でオープンソースが使用されています。これは、本当に驚くべきことであり、非常に多くのオープンソースが無償で提供されているという取り組みの証です。オープンソースに貢献している人は皆、私たちすべての前進に一役を担っていることを誇りに思うべきです。 こうした成功には責任が伴います。オープンソースは、世界中の人々が信頼できる

          セキュアなソフトウェアを、共に開発する
        • 少人数での爆速開発を目指してgolang×GCPの技術選定をした話

          この1年くらいでgolangとGCPを使ったWebアプリケーションをフルスクラッチで開発したので、その際の技術選定の理由だったりを言語化して残しておきたいと思い、HHKBを手に取りました。 少し長くなってしまいましたが、どなたかの参考になればと思います。 どんな人が書いてるの? 立ち上げ期のスタートアップCTOをしています。雑に言うとフルスタックエンジニアです。 開発歴はざっくり、Androidアプリの開発歴が一番長くて3年、バックエンド開発(Elixir × GCP)に転身して1年ほど担当、その後、これから言語化するプロジェクトを1年くらいかけてgolangで構築したところです。 今回の範囲からは外れますが、並行してNuxt.js×TypeScriptで書かれたフロントエンド開発も行っていたので、今はその辺りも一通り習得しています。 1. 方針 表題にもある通り、少人数での爆速開発を目指

            少人数での爆速開発を目指してgolang×GCPの技術選定をした話
          • TerraformモノレポCIのセキュア化 | メルカリエンジニアリング

            ※本記事は2022年1月22日に公開された記事の翻訳版です。 この記事は、Developer Productivity Engineering Campブログシリーズの一環として、Platform Infraチームの Daisuke Fujita (@dtan4)がお届けします。 メルカリでは、すべてのクラウドインフラを宣言的構成で管理することがプラットフォームの中核となる考え方の一つです。メインのクラウドプロバイダーはGoogle Cloud Platform(GCP)であり、HashiCorp Terraformを使用してインフラをコードとして管理しています。Platform Infraチームは、すべてのTerraformワークフローを安全に管理するための社内CIサービスを提供しています。 Terraformはリソースプロビジョニングのためにクラウドプロバイダーのクレデンシャルを必要と

              TerraformモノレポCIのセキュア化 | メルカリエンジニアリング
            • 自分のTweetsをインクリメンタル検索できるサービス作成キット と Tweetsをまとめて削除するツールを書いた

              自分のTweetsをインクリメンタルに全文検索できるmytweetsを作りました。 また、自分のTweetsをtextlintや単語感情極性対応表や辞書ベースでフィルタリングしてまとめて削除するdelete-tweetsを作りました。 どちらもTwitterのアーカイブを使って今までのすべてのTweetsを対象にしています。 そのため、どちらも最初に次のドキュメントに従って、Twitterのデータアーカイブをダウンロードしておく必要があります。(申請から1日ぐらいかかります) 全ツイート履歴とツイートをダウンロードする方法 | Twitterヘルプ mytweets mytweetsは、Twilogやツイセーブのように自分のTweetsの履歴を全文検索できるサイトを作るツールキットです。 Twitterのデータアーカイブをインポートするので過去全ての履歴に対応していて、 また新しいTwee

                自分のTweetsをインクリメンタル検索できるサービス作成キット と Tweetsをまとめて削除するツールを書いた
              • 何度も挫折してきたE2Eテストだけど、今後はDatadog Synthetics Testsが良さそうかも - LIVESENSE ENGINEER BLOG

                これは Livesense Advent Calendar 2022 DAY 20 の記事です。 はじめに 株式会社リブセンスの転職会議事業部Webエンジニアの @ishitan-liv です。 今回は、過去に転職会議でも導入しようとして挫折してきたE2Eテストについて書きます。 E2Eテストを自作するか、SaaSを使うのかで比較した結果と、Datadog Synthetics Testsの使い方を軽く紹介したいと思います。 なお、この導入については完全に個人プロジェクトとしてやっております。 リブセンスではエンジニアの権利として毎月10%の技術投資枠確保というものがあり、Googleの20%ルールのようなもので、約20日勤務だと想定して2日間は興味のある技術的なことに使えます。 grow.google はじめに このブログ記事を読むと得られる(と思われる)もの 今回書かないこと 導入検討

                  何度も挫折してきたE2Eテストだけど、今後はDatadog Synthetics Testsが良さそうかも - LIVESENSE ENGINEER BLOG
                • テックタッチにおけるSREの役割・課題感を紹介します - Techtouch Developers Blog

                  テックタッチという会社・サービス テックタッチの SRE チーム 何をやっているの インフラエンジニアというよりもソフトウェアエンジニア 課題感 SREチームの活動 - 大きなサイクル・小さなサイクル コミュニケーション 技術スタック・ツール 終わりに こんにちは。SRE の roki です。暑い日はまだあるものの、朝はすっかり秋を感じるようになり子どもたちが登校しやすくなってホッとしている今日このごろです。 この記事では、テックタッチという会社・サービスに触れつつ、SRE チームの働く環境や課題感を共有しながらチームの紹介をしていきます。興味を持っていただけたらぜひお声がけください。カジュアルに話し合う場を設けさせてもらっており、採用情報ページにて受け付けています。 テックタッチという会社・サービス テックタッチでは、社名と同じ「テックタッチ」という名前のサービスを運営しています。どのよ

                    テックタッチにおけるSREの役割・課題感を紹介します - Techtouch Developers Blog
                  • PR-Agent を使って Pull Request をAIレビューしてみた。(日本語対応もしてみた) - LayerX エンジニアブログ

                    LayerXの suguru です。 今日は、バクラクの開発に導入した PR-Agentの話をしようと思います。 PR-Agent は、Codium AI によってオープンソースで開発されている ChatGPT を使ったプルリクエストを便利にするためのAIツールです。 現時点で、下記のような機能を持っています。 Pull Request の自動分析およびレビュー Pull Request のタイトルと説明文を自動入力 コード改善の提案 フリーテキストな質問への回答 CHANGELOG の自動生成 必要なものは、 OpenAI のキーのみのため、CIに簡単に導入できます。 GitHub上へのインラインコメントなどにも対応しており、普段開発する際に面倒なプルリクエストに関する様々な作業を自動化することができます。 裏側ではデフォルトで GPT-4 を使っており、ソースコードを解析し、高精度な結

                      PR-Agent を使って Pull Request をAIレビューしてみた。(日本語対応もしてみた) - LayerX エンジニアブログ
                    • HERP における Nix 活用

                      HERP における開発では Nix が広く活用されている.Nix は非常に便利な代物なのだが,ドキュメントの貧弱さ,急峻な学習曲線,企業における採用事例の乏しさなどが相まって,広く普及しているとは言い難く,ましてや国内企業での採用事例を耳にする機会はほとんどない.しかし,Nix の利便性は,複数人での開発においてこそ,その本領が発揮されると考えている.この記事は,HERP における活用事例の紹介を通じて,Nix の利便性ならびに企業での活用可能性について紹介することを目的としている. Nix とは# Nix は "the purely functional package manager" と銘打たれたパケッジマネジャーである.GNU Linux および macOS 上で利用できる. ビルド# Nix は the purely functional "package manager" なの

                        HERP における Nix 活用
                      • CI/CDサービスのOpenID Connect対応 Dive Into - Lento con forza

                        これははてなエンジニアアドベントカレンダー2022 39日目の記事です。 昨日は id:nakaoka3 の ミーティングの時間になると勝手に議事録を開いてほしいでした 先日あった、CircleCIのインシデントのAdditional security recommendationsとして、OIDC Tokenを使うことが推奨されていました。GitHub ActionsやCircleCIなどのCI/CDサービスでは外部サービスへの認証を行うために、OpenID Connectに対応しています。OpenID Connect対応がされていることは知っていたのですが、OpenID Connectといえば、外部サービス連携をしてログインに使うイメージだと思います。たとえば、Googleの認証情報で、はてなアカウントにログインするなどといったようにです。僕の中で、ユーザー認証に使うOpenID Co

                          CI/CDサービスのOpenID Connect対応 Dive Into - Lento con forza
                        • tblsとGitHub Actionsを使ってDBマイグレーションを含むPRには自動更新したER図を追加する - BASEプロダクトチームブログ

                          BASEアドベントカレンダー2021 10日目の記事です。 BASEアドベントカレンダー2021 10日目 BASE BANKでエンジニアをしている @budougumi0617 です。 マイグレーションファイルが含まれたPull Request(PR)が作られたとき、自動更新したER図をPRに追加するGitHub Actionsを作りました。 本記事では紹介するGitHub Actionsを利用すると次のようなメリットが得られます。 マイグレーションファイルをPRに出すだけでPRに更新されたER図が追加される 開発者は面倒なER図の更新作業から開放される レビューアはマイグレーションファイルを含んだPRをER図を見ながらレビューできるようになる プロジェクト関係者は常にメインブランチのマイグレーションファイルの状態と一致したER図を確認できる サンプルPR 自動生成したER図 TL;DR

                            tblsとGitHub Actionsを使ってDBマイグレーションを含むPRには自動更新したER図を追加する - BASEプロダクトチームブログ
                          • Supercharging GitHub Actions with Job Summaries

                            ProductSupercharging GitHub Actions with Job SummariesYou can now output and group custom Markdown content on the Actions run summary page. The same familiar functionality that powers pull requests, issues, and README files has come to GitHub Actions! We’re thrilled to announce GitHub Actions Job Summaries, which allow for custom Markdown content on the run summary generated by each job. Custom Ma

                              Supercharging GitHub Actions with Job Summaries
                            • Terraform について、やっていることをすべて話そう - Qiita

                              ※ 2020-12-22 追記あり はじめに この記事は GLOBIS Advent Calendar 2020 - Qiita 17日目の記事です。 GLOBIS SRE チームでは2020年初頭より、 Kubernetes (Amazon EKS) を用いたインフラ環境の全面的な刷新に取り組んでいます。この新たな環境では Infrastructure as Code で環境の9割はコード化するという目標を立てており、 Terraform を積極的に活用しています。 この記事では、そんな弊チームでの Terraform の使い方についてまとめていきます。書き始めたら書きたいことが湯水のように湧いてきてしまったので、FAQ形式でまとめてみました。気になるところを拾い読みしてみてください。 Terraform 全般 Q. Terraform で何を管理していますか AWS がメインの環境なの

                                Terraform について、やっていることをすべて話そう - Qiita
                              • 他人から見えない開発進捗、チャットで来た依頼のToDo化漏れ エンジニアがNotionのデータベースでタスク管理をする理由

                                Notionを使ったプロダクト開発管理のノウハウを紹介する「実践!プロダクトづくりとNotion活用事例」。ここで株式会社TechBowlの大木氏が登壇。エンジニア目線から見た、Notionでのタスク管理法を紹介します。 自己紹介 大木優氏(以下、大木):このトークはエンジニア代表として、というとちょっと語弊があるかもしれませんが、Notionを活用する時に、エンジニア目線で何を意識していったらいいのかみたいなところを中心にお話をします。 エンジニアなので、どうせならNotionのAPIを使って何かできないかというところで、僕が本業側でやってみたことを合わせて共有します。 初めましてという方も多いと思うので、自己紹介としては大木優と言います。ふだんオンラインでは“スーさん”という名前で活動をしていて、今はエンジニア教育の会社で1人でエンジニアをやっています。業務委託の方とかはもちろんいます

                                  他人から見えない開発進捗、チャットで来た依頼のToDo化漏れ エンジニアがNotionのデータベースでタスク管理をする理由
                                • 【研修資料公開】24新卒エンジニア研修「エンジニア基礎」を実施しました! - WILLGATE TECH BLOG

                                  こんにちは!ウィルゲート SREチーム 4年目エンジニアのことみん(@kotomin_m)です ウィルゲートでは24新卒エンジニア 内定者向けに新卒研修を実施しました! この記事では、新卒研修の内容と、研修の中でも私が担当した「エンジニア基礎」の作成の裏側や資料を公開したいと思います! 作成した資料は、私の3年間の学びを凝縮したものであり、そのためかなりボリュームがあります。 しかし、今日から新卒エンジニアの皆さんだけでなく、先輩エンジニアの皆さんにも見て頂き、是非後輩エンジニアの教育の際に使ってもらえると嬉しいです!(頑張って作ったので何卒……!!) 新卒研修の内容 エンジニア基礎 資料公開 エンジニア基礎 作成の裏側 研修作成の背景 研修作成で苦労したところ おわりに 新卒研修の内容 今回は講師11名、全12項目の研修が実施されました! 過去の研修資料をブラッシュアップしたものもありま

                                    【研修資料公開】24新卒エンジニア研修「エンジニア基礎」を実施しました! - WILLGATE TECH BLOG
                                  • Diagramsを使ってsystem architecture図をアップデートし続ける - hatappi.blog

                                    最近 Twitter を見ていたら Diagrams という Python 書いたら良い感じのシステム構成図ができるサービスが流れてきた。 diagrams.mingrammer.com プライベートのインフラ構成図は今まで Cacoo で描いていたけど、今回 Diagrams に移行した。 なぜ Diagrams で書くのか プライベートでは terraform だったり Kubernetes のマニフェストを1つのリポジトリで管理している。 AWS の構成や Kubernetes に変更を加える時はいつもそのリポジトリにコミットしてもろもろ終わった後に Cacoo の図を更新していた。 Cacoo は書きやすくて好きなのですが、自分としては図を更新する前の時点で達成感に満たされていつも終わっていました。 そしてどんどん実態と差分が広がり更新しなくなりました。 Diagrams を使うこ

                                      Diagramsを使ってsystem architecture図をアップデートし続ける - hatappi.blog
                                    • Public な Git リポジトリでシークレット管理をしつつ GitHub Actions で CI/CD も回す

                                      つくったアプリケーションのソースコードは公開したい、でもシークレットはどうにかして秘匿しないといけない。継続的な運用を目指すならシークレットのデータ自体もなんとかしてリポジトリに(Repository secrets などではなくコミット対象として)含める必要がある。 …という状況を解決するために、gpg だけを使って継続的な運用を図る手段をまとめてみます。フロントエンド/バックエンドなど問わずどこでも使用できます。 Web フロントエンドなどから各種 API キーを利用する場合、リクエスト時の挙動はデベロッパーツールで全て確認できてしまう点には留意してください。 これらは API サーバー側でオリジンの制限をかけるなどの検討が必要です。 やること主な作業内容の要約は gpg を使ってプッシュする前にローカル側で暗号化をする暗号化するときに復号化のための(最強の)パスフレーズを登録するその

                                        Public な Git リポジトリでシークレット管理をしつつ GitHub Actions で CI/CD も回す
                                      • Gitのブランチの役割を考える | フューチャー技術ブログ

                                        Gitのブランチ戦略にはいくつかあります。 GitフローGitHubフローGitLabフローチームの戦略を考えるときにどれかを参考にしつつカスタマイズするときにいろいろ不都合が生じてしてきて複雑になってしまうことってありますよね?社内でブランチの管理の議論をする中で、ブランチの役割を明確にした上で、どのブランチがどのような役割を持っているのかを明確にした方が混乱が少なくなるのではないか?というのを考えていました。 特に、プロジェクトごとに同じ名前でも役割が違うなー、というのとかもあり、ブランチ名=役割ではなく、ブランチの上位概念として役割を考えて、それを実際のブランチとの対応づけを行う必要があるのではないかな、と。 CI/CDと組み合わされることで、releaseブランチ==ステージング環境となってしまい、ステージング環境を使いたいリリース前のブランチと、ホットフィックスの検証のブランチの

                                          Gitのブランチの役割を考える | フューチャー技術ブログ
                                        • リリース自動化の嬉しみとその手法 - Kengo's blog

                                          DevOpsやCIOps、GitOpsなどを通じて生産性向上を突き詰めていくと、コンパイルやテストだけではなくリリースまで自動したくなってきます。リリースには必要な作業が多く、また頻度も高くないため毎回思い出したり間違えたりが発生するためです。 特に変更内容をまとめて文書化する作業は、利用者に対する影響度もその煩雑さも高いため、自動化できれば文書の品質向上やリリース頻度の向上に大きく貢献できます。本記事では、筆者がNode/Java界隈でよく見るリリース自動化手法について紹介することで、リリース自動化の敷居を下げたいと思います。 なお本記事で言う「リリース」は、jarファイルやコンテナイメージなどビルドの成果物をリポジトリやGitHub Releasesにアップロードして他プロジェクトやデプロイ環境で利用できるようにすることを指しています。環境に対する「デプロイ」や、エンドユーザへの公開を

                                            リリース自動化の嬉しみとその手法 - Kengo's blog
                                          • GitHub Actionsに「強い」AWSの権限を渡したい / AWS credentials on Actions

                                            Amazon ECSで好きなだけ検証環境を起動できるOSSの設計・実装・運用 / YAPC::Hiroshima 2024

                                              GitHub Actionsに「強い」AWSの権限を渡したい / AWS credentials on Actions
                                            • TypeScriptによるアプリケーションの開発環境 | さにあらず

                                              このエントリーは pyspa Advent Calendar 2019 の 11 日目の記事です。昨日は @chezou の「Vein の iOS ショートカット複数 URL 対応しました」でした。 はじめに#TypeScript は大変に素晴らしい言語で、僕の手によくなじむ。そのせいか最近はめっきり TypeScript ばかり書いている。 今回のエントリでは、僕がこの一年くらいの間に磨いた TypeScript のテンプレートプロジェクトについて説明する。かなり何度も使って必要十分なものだけを含めるようにしている。 しかし、僕の知識の偏りがそのままになっているので、万人に合うというわけではないだろう。 とはいえ、開発環境の初期構築はかなり面倒な作業なので参考にして貰えれば嬉しい。 細かい説明なんかよりもコードを見た方が早いってハードコアな方は、こちらへどうぞ。 taichi/ts-te

                                                TypeScriptによるアプリケーションの開発環境 | さにあらず
                                              • GitHub Actionsのワークフローを利用してクロスブラウザのE2Eテストを自動化する - Money Forward Developers Blog

                                                こんにちは。 『マネーフォワード クラウド経費』のフロントエンドエンジニアをしている木村(@kimromi)です。 Ruby on Railsを利用してサービス開発を進めているプロダクトのフロントエンドの環境を整えていき、UIの改善やフロントエンド側の開発効率アップなどにつなげていくような動きを現在やっています。 なぜクロスブラウザのE2Eテストが必要になったか ある日、IE11のみでJavaScriptエラーが起こり動作しないとの連絡が入り、慌てて対象のプルリクエストをリバートしたということが起こりました。 原因としてはライブラリの追加によるものでした。 現在フロントエンドの改修を行っていく中で、ライブラリの追加やビルド方式の変更などドラスティックな変更をすることが多くなってきています。 そのたびにMicrosoftからダウンロードできるVM環境を立ち上げ手元で確認するのは手間がかかり確

                                                  GitHub Actionsのワークフローを利用してクロスブラウザのE2Eテストを自動化する - Money Forward Developers Blog
                                                • コードレビューを通じたチームパフォーマンス向上のための取り組み - ZOZO TECH BLOG

                                                  こんにちは。ECプラットフォームサービスSREチームリーダーの川崎(@yokawasa)です。本記事では、コードレビューを通じたチームのパフォーマンス向上のための取り組みについてご紹介します。なお、コードレビューそのもののテクニックに関する話はしないので、あらかじめご了承ください。 目次 目次 はじめに コードレビューはチーム全体のパフォーマンス向上のため 複数ユニット、複数チームで行う 活動状況を定量的に評価する コードレビュー体験を向上させる レビュアーの負担を減らす 同期・非同期コミュニケーションを使い分ける 参加しやすい雰囲気を作る 1. 心理的な安全性を高める 2. チームの共通目標にする さいごに はじめに まずはじめに、我々はGitHubのPull Request(以下、PR)機能を活用してコードレビューをしています。下記の記事でも書いているようにIaCとCI/CDを基本ルー

                                                    コードレビューを通じたチームパフォーマンス向上のための取り組み - ZOZO TECH BLOG
                                                  • メンテモが Vercel を剥がすまで (移行作業編) - メンテモエンジニアリング

                                                    engineering.mentemo.com この記事は↑の記事の後編です。 前編からだいぶ日が空いてしまいましたが、今回はメンテモのWebアプリケーションがVercelからCloud Runに移行するまでの実際の作業を紹介します。 はじめまして。 @itometeam です。メンテモで業務委託として開発全般のお手伝いをしています。 メンテモのWebアプリケーションはフロントエンドにNext.jsを使っています。 元々は例に漏れずVercelを使っていましたが、スケールするにつれてどうしてもボトルネックになる部分が増えてきたため別の環境に移すことを検討し始めました。 もちろんVercelはNext.jsのデプロイ先として今後も一番の選択肢としてあり続けると思います。 Webサーバをクラウド上に構築する上で意識するべきことをほとんどおまかせでやってくれますし、プレビューURLの自動生成など

                                                      メンテモが Vercel を剥がすまで (移行作業編) - メンテモエンジニアリング
                                                    • 複数リポジトリ間におけるeslint・prettierの設定共通化 - LIVESENSE ENGINEER BLOG

                                                      転職会議事業部の srkw です。 今期事業部内で利用する eslint および prettier の共通ルールを管理するパッケージを作成したので、その工程と成果物をご紹介したいと思います。 なお、今回紹介するパッケージの内容には多分に要修正箇所があり、今後他のプロジェクトとの優先順位を鑑みて、都度改善される可能性があります。その際はこちらの記事も併せて更新できればと考えています。 TL;DR 最終成果物は以下のリポジトリで公開しています。利用リポジトリ側での設定等は README に記載しております。 https://github.com/livesense-inc/eslint-config-template モチベーション 転職会議は現在ページごと・機能ごとにサーバーを別で管理するマイクロサービス構成で開発を行っています。その中で利用する静的コード分析やコードフォーマッタのルールは

                                                        複数リポジトリ間におけるeslint・prettierの設定共通化 - LIVESENSE ENGINEER BLOG
                                                      • GitHub Actions の OpenID Connect サポートについて

                                                        この記事は GitHub Actions Advent Calendar 2021 の 3 日目の記事です。 2021/10/27 に GitHub Actions の OpenID Connect (OIDC) サポートが正式にアナウンスされました。 この機能を一通り触ってみて気づいたことをまとめます。 概要 これまで、GitHub Actions のワークフロー実行中に AWS や GCP といったクラウドプロバイダにアクセスする必要がある場合、クラウドプロバイダ側でクレデンシャルを発行して GitHub 側にシークレットとして保存するのが一般的でした。 しかし、GitHub に長時間有効なクラウドプロバイダのシークレットを保存すると、例えば退職者が発生したときにシークレットを更新する作業が必要になるなど、面倒な作業が発生してしまいます。また、シークレットの漏洩リスクについても考慮が必

                                                          GitHub Actions の OpenID Connect サポートについて
                                                        • GitHub Actions による自動デプロイに承認機能を付ける

                                                          GitHub で共同開発をしている場合、GitHub Actions を使用して継続的なデプロイを行っていることが多いかと思います。 例えば Git タグを使用して、そのタグ作成をフックに自動で Production へデプロイといった運用が考えられます。 ただ、そういった運用は、運用自体が簡単ではあっても、セキュリティに難があります。 業務委託等の社外エンジニアが開発に参加している場合、そのレポジトリに対して Write 以上の権限が必要になります。 すると、Git タグを作成する権限もあるわけで、そうなると、社外メンバーが Production デプロイを勝手に行えてしまいます。 そういったことを防ぐために、Production デプロイ自体に承認機能を付けることができます。 それを、GitHub Actions と GitHub Environments という機能を組み合わせること

                                                            GitHub Actions による自動デプロイに承認機能を付ける
                                                          • GitHub Organizationの安全な運用とモニタリングに関するスライド(全44ページ)を無償公開しました - Flatt Security Blog

                                                            はじめに こんにちは、株式会社Flatt Securityプロダクトマネージャーの小島です。Shisho Cloud というソフトウェアサプライチェーンに関するセキュリティ上の問題の発見から修正までを包括的にサポートする開発者向けセキュリティツールを開発しています。 shisho.dev 本日はこのサービスに関連して、GitHub Organizationを安全に運用していくためのベストプラクティス、そしてそのベストプラクティスがきちんと開発組織の中で運用されているかをモニタリングする方法についてまとめたスライドを公開しました。 スライドは下記のSpeakerdeckのURLより無料/登録不要で閲覧/ダウンロードいただけます。 https://speakerdeck.com/flatt_security/2022-github-org-best-practices この記事では、そのスライ

                                                              GitHub Organizationの安全な運用とモニタリングに関するスライド(全44ページ)を無償公開しました - Flatt Security Blog
                                                            • BuildJetを使ってamd64とarm64に対応したコンテナイメージを今までの8倍速く作る - 風に吹かれても

                                                              三行まとめ BuildJet が提供するArmマシンを用いてArmで動くイメージを作成する Docker Buildx を用いると複数のイメージに同じタグを貼ることができる Actionsのx86_64マシンでamd64で動くイメージを、BuildJetのArmマシンでarm64で動くイメージをそれぞれ作成してくっつけた 三行まとめ はじめに BuildJetとは 方法 BuildJetに登録する BuildJetを有効にする runs-onにBuildJetのランナーを指定する 複数のイメージを束ねるマニフェストを作る めでたしめでたし 実際に使ってみる 速度比較 まとめ はじめに Apple Silicon搭載マシンの登場、Raspberry Piの普及などArmが身近になってきた人も多いのではないでしょうか。 Raspberry Pi上で動くKubernetesなどを運用する際にはa

                                                                BuildJetを使ってamd64とarm64に対応したコンテナイメージを今までの8倍速く作る - 風に吹かれても
                                                              • GitHub Actions と Release Please を使ったアプリケーションのリリース自動化 - Classi開発者ブログ

                                                                GitHub Actions と Release Please を使ったアプリケーションのリリース自動化 こんにちは @lacolaco です。最近は、先日プレスリリースが出された「学習トレーニング」機能を裏で支えているコンテンツ管理システム(以下内部CMS)の開発に携わっています。 corp.classi.jp この記事では、内部CMSのフロントエンド(Angular アプリケーション)のリリースフローを自動化している仕組みを紹介します。現在のリリースフローの全体像は次の図のようになっています。この中にある Release Please というのが、今回特に紹介したいツールです。いくつか日本語でのブログ記事などもあるので特にマイナーというわけではないと思いますが、多くの場合はライブラリのリリースに使われています。一方、アプリケーションのリリースで使っているケースはあまり発信されてないよう

                                                                  GitHub Actions と Release Please を使ったアプリケーションのリリース自動化 - Classi開発者ブログ
                                                                • AWS CodeBuildのGitHub Actions runnerサポートでLambdaが実行できるようになったので検証しました | CyberAgent Developers Blog

                                                                  AWS CodeBuildのGitHub Actions runnerサポートでLambdaが実行できるようになったので検証しました CTO統括室の黒崎(@kuro_m88)です。本日早朝に面白そうな発表を目にしました👀 AWS CodeBuild now supports managed GitHub Action runners AWS CodebuildがGitHub Actionsに対応したという内容ですが、要するにAWSがホストするGitHub Actions Runnerが出たということですね🎉 AWSがマネージしてくれることで、EC2(x64, arm)はもちろん、GPUとカスタムイメージも利用できるようです。 さらに注目したのはGitHub Actions RunnerとしてAWS Lambdaが使えるようです。Lambdaが使えると嬉しいポイントはActionsのjo

                                                                    AWS CodeBuildのGitHub Actions runnerサポートでLambdaが実行できるようになったので検証しました | CyberAgent Developers Blog
                                                                  • Terraform運用事例書きました - pixiv inside

                                                                    こんにちは、インフラ部の id:sue445 です。 Terraformなにもわからないけどディレクトリ構成の実例を晒して人類に貢献したい - エムスリーテックブログ や Terraformのディレクトリ構成の模索 - Adwaysエンジニアブログ を読んで影響されたのでピクシブのTerraform運用事例を紹介しようと思います。 Terraformの採用理由 GitLabでのリポジトリ構成 Terraformのファイル構成 moduleがうまく使えたと思っている事例 GitLab CIでTerraformをいい感じにCIする テンプレートの使い方 ピクシブで実際に使っているテンプレートファイル このテンプレートでできること masterブランチ以外 masterブランチ このテンプレートファイルのポイント 最後に Terraformの採用理由 Terraformと同じようなプロビジョニン

                                                                      Terraform運用事例書きました - pixiv inside
                                                                    • GitHub Actions のみで、actions/cache も使わない最軽量の VRT

                                                                      Web アプリケーション開発での VRT 導入は、ちゃんと運用するとなると以下のような多くの検討事項を伴います。 Storybook のストーリーベースで比較するか?それとも実アプリケーションの URL ベースで比較するか? CI 上でアプリケーションをビルドして dev server を立ち上げるか、それともデプロイ先のアプリケーションにアクセスするか? スクリーンショットの比較はどのように行うか?比較時の閾値はどのように設定するか? 比較元のスクリーンショットはどのように用意するか?例えば Amazon S3 などのストレージ や GitHub Actions の actions/cache を使用する場合など コミットハッシュを用いて比較元のスクリーンショットを特定する場合、マージ先のコミットハッシュに紐づくスクリーンショットが存在しない時の対応は? VRT の結果で差分が出たが、そ

                                                                        GitHub Actions のみで、actions/cache も使わない最軽量の VRT
                                                                      • Bot と一緒にインタラクティブに GitHub を学べる GitHub Learning Lab は素晴らしい学習体験だった - kakakakakku blog

                                                                        新しく技術を学ぶときに「どんな第一歩」を踏み出すか.僕は「体系的に学ぶ」ことが好きで,技術書を読むことが多い.全体感を把握することで安心できる性格であることも関係していると思う.さらに「実際に体験する」ことも好きで「学習コンテンツ」をよく使う.今までもチュートリアルサイト,Katacoda,YouTube など,いろいろ試してブログにまとめてきた.また現在は講師という仕事柄もあり,どのように「学習コンテンツ」を構成すると学習体験を高められるのか?という部分に強い興味関心があることも関係している. GitHub Learning Lab とは? 今回は GitHub から提供されているプラットフォーム「GitHub Learning Lab」を紹介する.GitHub / GitHub Pages / GitHub Actions など,GitHub 関連のコースが揃っているし,さらに HTM

                                                                          Bot と一緒にインタラクティブに GitHub を学べる GitHub Learning Lab は素晴らしい学習体験だった - kakakakakku blog
                                                                        • 私が Azure Functions アプリケーションの開発時に意識していること - しばやん雑記

                                                                          ここ数年は Azure Functions をフルに活用したアプリケーションを実装することが多かったのですが、同時に Azure Functions を失敗しないように使う方法も分かってくるので、ここらでちゃんと言語化しておきます。 最近は特に Azure Light-up というハッカソンを行うことが多いのですが、Azure Functions を使う場合には必ずこの辺りは毎回説明するようにしています。要するに Azure Functions の利点・特性を理解して賢く使いこなそうという話です。 Binding / Trigger で実現出来ないか考える Function の実装は出来る限り小さく保つ リトライのしやすい実装を重視する 最新の .NET での作法に沿ったコードを書く Graceful Shutdown に対応したコードを書く 機能単位で Function App プロジェ

                                                                            私が Azure Functions アプリケーションの開発時に意識していること - しばやん雑記
                                                                          • GitHub Actionsで連続pushした時に止めるアレ

                                                                            大分時間が経ってしまいましたが、2022/8/31 に開催された stand.fm 主催の TECH STAND #9 GitHub イベントに参加しました。 その際に呟いたやつが今回の記事の内容です 有り難いことに直ぐにフォロー頂きました。 あまり纏まった記事が見当たらなかったので、自分用のメモとしてまとめます。 他のCIにはあったアレ GitHub Actionsを利用する前は、TravisCIやCircleCIを利用していました。 移行してから随分使ってないので、記憶が定かではないのですが という機能が標準であった気がします。 この機能の名前は何と呼ぶのでしょうか?地味だけれども、ないと困るアレですw GitHub Actionsのリリース直後にこちらの機能と [ci skip] が使えずに後発なサービスなのにーと不満を覚えていました。 その後にアレの機能を実装したカスタムアクション

                                                                              GitHub Actionsで連続pushした時に止めるアレ
                                                                            • ふつうの開発と TDD ワークショップ - Pepabo Tech Portal

                                                                              執行役員 VP of Engineering 兼技術部長の @hsbt です。9月に発売する LOST JUDGEMENT に備えて龍が如くシリーズの過去作品を一通りプレイし終えたので、次はモンハンストーリーズ2か何をプレイしようかなあと迷っている日々です。 GMO ペパボ(以下、ペパボ)では 2021 年の技術方針として「ふつうの開発をできるようになる」というスローガンを掲げています。 「ふつうの〜」という私が以前に所属していた永和システムマネジメントでよく使われていた形容詞です。すごいエンジニアがすごいテクノロジーを使ってすごいプロダクトを作って世界を変える、そういうやり方を夢見るのではなく、開発者一人一人が毎日の「ふつうの開発」のやり方のレベルを少しずつ高めていくことですごいプロダクトを作っていこう、という意味がこのスローガンにはこめられています。 ふつうの開発をできるようになる で

                                                                                ふつうの開発と TDD ワークショップ - Pepabo Tech Portal
                                                                              • Kaggleの学習から投稿までをAWS, GitHub Actionsを使って自動化する - kanayamaのブログ

                                                                                金山(@tkanayama_)です。先日終了したKaggleの"M5 Forecasting"というコンペに参加した際、クラウドやCI/CDの勉強も兼ねて、AWS, GitHub Actionsを使って遊んでみました。 免責 N番煎じだったらすみません。一応、同じことをやっているネット記事は見つかりませんでした。 私はクラウドなど勉強中の身分ですので、もっといいやり方がある or 説明が間違っている、などありましたら教えてください。 私がこのシステムを使って参加したコンペの順位は5,558チーム中1,000,000,000位だったので、Kaggleで勝てるかどうかは別問題のようです :pien: この記事のゴール 下記のようなシステムを構築することをゴールとします。 ユーザーがやることは2つ(図中でユーザーから伸びている黄色矢印)で、 実装したコードをgit pushし、 AWSコンソール

                                                                                  Kaggleの学習から投稿までをAWS, GitHub Actionsを使って自動化する - kanayamaのブログ
                                                                                • Platform Engineering on Kubernetes を読んでCloud Native の現在地を理解する - じゃあ、おうちで学べる

                                                                                  はじめに 近年、Kubernetesの採用が進む中、複数のチームが関わり、複数のクラウドプロバイダーへのデプロイを行い、異なるスタックを扱う組織では、その導入の複雑さが新たな問題となっています。本書 『Platform Engineering on Kubernetes』は、Kubernetes に登場しつつあるベストプラクティスとオープンソースツールを活用し、これらのクラウドネイティブの問題を技術的に組織的にどのように解決するかを示してくれます。 learning.oreilly.com 本書では、Kubernetes上に優れたプラットフォームを構築するための要素を明確に定義し、組織の要件に合わせて必要なツールを体系的に紹介しており、実際の例とコードを交えながら各ステップをわかりやすく説明することで、最終的にはクラウドネイティブなソフトウェアを効率的に提供するための完全なプラットフォーム

                                                                                    Platform Engineering on Kubernetes を読んでCloud Native の現在地を理解する - じゃあ、おうちで学べる