こんにちは、ライクル事業部 エンジニアの菊池@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
GitHubは、ソフトウェア開発のワークフローを自動化する機能であるGitHub Actionsの作成機能を強化したと発表しました。 これによりGitHub Actionsの作成が容易になると説明されています。 強化された1つ目の機能は、レコメンデーション機能の追加です。 GitHub Actionsを作成する場面で自動的にレコメンデーション機能が働き、リポジトリを分析してプログラミング言語、ビルドツール、フレームワーク、パッケージマネージャなどを検出したうえで、適切なワークフローが推奨されます。 例えばリポジトリ内にコンテナ化されたNode.jsアプリケーションが含まれている場合、コンテナとNode.jsに関連するワークフローが優先的に表示されるなど、リポジトリ内で使われているプログラミング言語やフレームワークに基づいて適切な推奨が行われます。
こんにちは!アルダグラムの開発ユニット長の田中です! 突然ですが、少しでもCIの実行時間を削減したいと思いませんか? 今回は、GitHub Actionsとget-diff-actionを活用してDockerビルド時間を削減する方法についてご紹介します。 TL;DR get-diff-actionを使用してライブラリの変更差分を検知します。 変更差分がない場合はライブラリインストール済みのDockerイメージを使用してBuild時間を短縮します。 サンプルコード 具体的な例として、Railsアプリケーションを使用します。 on: pull_request: types: [ closed ] branches: - 'develop' name: Deploy to Amazon ECS jobs: ecr-push: name: Deploy runs-on: ubuntu-latest
はじめに この記事を読んで出来る事 poetryによる外部モジュールバージョン管理 poetry-dynamic-versioningによる動的なバージョン付与 GitHub Actionsを利用したPython周りの基本的なCI/CD設定 GitHubのReleaseタグ付与をTriggerとしたPyPIへのアップロード 今後私がPythonで何かライブラリ作ろうと思ったらこれを実施するぞというメモです はじめに poetryによるモジュールバージョン管理 PyPIへのアップロード GitHab Actionsを用いたCI/CD その他GitHubでやること 参考 poetryによるモジュールバージョン管理 バージョンをGitHubのタグで管理したい事の方が多いはず。 setup.pyを利用する場合は、一般的にsetuptools_scmを使うが、poetryはsetup.pyのようにb
GitHub Actions Job Summaries 先日 GitHub からアナウンスがあり、GitHub Actions から簡単に Job Summary を扱えるようになりました。 公式のドキュメントでは、頑張って YAML からマニュアルで環境変数を通じて操作する方法が紹介されていますが、これだと書くのが少々辛いです。 - name: Generate list using Markdown run: | echo "This is the lead in sentence for the list" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY # this is a blank line echo "- Lets add a bullet point" >> $GITHUB_STEP_SUMMARY ech
July 27, 2022 You can now deploy to a GitHub Pages site directly from a repository using GitHub Actions, without needing to set up a publishing source. Using Actions to orchestrate Pages publishing provides many more options for choosing your authoring framework (Next.js, Hugo, Gatsby, Jekyll, NuxtJS or other technologies, and the associated versions thereof) as well as giving you finer control ov
GitHub Actionsで、複数環境でテストしたいのでmatrixに分けて、branch protectionの設定で全環境のテストが通ったらmasterにマージ可能にしましょう、というのをやろうとするとちょっと面倒です。 matrixの数だけ必要なstatus checkに含めないといけない jobの名前を変えたときにrequired status checkの設定も追従させないといけない? (未確認) 「なんか一生CI greenになりませんね」的なことになりそう jobの名前を途中で変えたら選択肢がめちゃくちゃ出てくる gyazo.com 全部のテストに通った、というのを1つのstatus checkで表現したいので、以下のようなjobを追加しました。 needs: test にして、 test jobが全てpassしないと作動しないようにする 1つでもテストが落ちたらcance
動いてるリポジトリはここ https://github.com/mizchi/frontend-gh-action-playground やったこと 発想は https://qiita.com/mizchi/items/9c03df347748ba5f5a11 の続き job 間の依存を明示して build => {各種e2e} というステップでタスクを流す 新たに導入された actions/cache を使って node_modules と dist (webpack 出力ディレクトリ) を cache して次のジョブに渡す node_modules は package.json の ハッシュ値をキーに、 dist は GITHUB_SHA(コミットハッシュ)をキーにした safaridriver が仕様変更で動かなくなったので一旦止めた(サポートにこれ先月動いてたのに今動かないの?って
Image credit: GitHub's Hubot from the Octodex GitHub Actions are still in beta and are changing quickly. But if you are looking to get started the possibilities are endless. This guide is mostly about pointing to documentation and exploring some fun ways to use GitHub Actions. In this post we’ll create a repository which contains a GitHub Action - built in TypeScript - and an associated workflow.
年の瀬ですね。クリスマスの足音も近く、ピザなんかを頼んだら景気が良いかなと思ったので、GitHub 上で Issues を生やすとピザが頼める仕組み(workflows)を構築してみました。 本記事は mast Advent Calendar 2023 の 7 日目の記事です。6 日目は Hitoko T. 先生の記事「我が家に猫3匹がやって来た話|Hiroko T.」でした。猫、癒やしですよね 折角のアドカレの機会ですから、GitHub 上でピザを頼むまでの過程を、GitHub や Web 技術、ピザ等に明るい方にも、そうでない方にもお楽しみいただけるように説明*1*2を進めていきます*3。少し長くなりますが、どうぞお付き合いください。 ピザ 突然ですが、みなさまはピザと呼ばれる食べ物をご存知でしょうか? 初めてピザをご覧になられた方に向けて説明しておくと、小麦粉等を練って構成した生地を
【最強のプルリクレビュー環境】 GitHub ActionsとPHPStanを繋げてPRのコード上に自動で静的解析のエラーが出てくる仕組みを作るPHPGitHubPHPStanGitHubActions GitHubでプルリクをレビューするとき、こんな風にコード上に勝手にエラーがあるよ!って表示されたら嬉しいなあということがあります。 わざわざCIの実行結果を見に行ってひとつひとつエラーを確認するのは面倒ですからね。 というわけで、今回は上の画像のように自動でエラーがコード上に現れて教えてくれる環境をGitHub Actionsで作りたいと思います。 大前提 PHPStanがプロジェクトに導入されている 今回はPHPStan 1.5.4を使用して検証しています PHPStanが入ってないと話が始まらないので、まずは入れておきましょう。 GitHub ActionsからPHPStanが走るよ
はじめに Brakemanとは 導入方針 導入方法 終わりに はじめに 普段アルバイト事業部で主にバックエンドの開発をしている@ayumu838です。 最近はStaubのホーロー鍋を買って煮込み料理をよく作って食べています。 食欲の秋なので日々のカロリー摂取量は増加の一途を辿っているのが少し心配です。 ところで皆さんは、自身のRailsプロジェクトに対してセキュリティチェックを行っていますか? この記事では、GitHub Actionsを使ってRailsプロジェクトに対してBrakemanを導入して、セキュリティチェックを行った時の話です。 Brakemanとは ソースコードに対してSQLインジェクションやXSSなどの脆弱性がないかを解析してくれるGemです。 人間が目視で確認していても抜け漏れがあったり、新たに報告された脆弱性に気付きにくかったりするので、こういった自動で検知してくれるツ
Open SourceProductGitHub Actions update: Helping maintainers combat bad actorsGitHub Actions is a powerful, flexible CI/CD service that gives developers the ability to automate all of their software workflows. Developers have built amazing things with GitHub Actions, and the… GitHub Actions is a powerful, flexible CI/CD service that gives developers the ability to automate all of their software wo
GitHub Actions – Support for organization-wide required workflows public beta githubactionsworkflows January 10, 2023 Today, we are announcing public beta of required workflows in GitHub Actions 🎉 Required workflows allow DevOps teams to define and enforce standard CI/CD practices across many source code repositories within an organization without needing to configure each repository individually
In our first post in our series on CI/CD we went over some of the high level best practices for using Docker. Today we are going to go a bit deeper and look at Github actions. We have just released a V2 of our GitHub Action to make using the Cache easier as well! We also want to call out a huge THANK YOU to @crazy-max (Kevin :D) for the of work he put into the V2 of the action, we could not have d
Actionsflow helps you automate workflows - it's a free IFTTT/Zapier alternative for developers. With Actionsflow you can connect your favorite apps, data, and APIs, receive notifications of actions as they occur, sync files, collect data, and more. We implemented it based on Github actions, and you use a YAML file to build your workflows. The configuration format is the same as Github actions, whi
テンプレートリポジトリ 作成した Composite action のテンプレートです。 概要 GitHub Actions でアクションを自作する際に作成できるアクションには3種類あります。 JavaScript (TypeScript) Docker container Composite JavaScript, TypeScript, Docker container にはそれぞれ公式のテンプレートがあるのですが、なぜか Composite だけありません。 action.yml に直接コードを書くのでテストやビルド、デプロイ等の周辺コードが不要という判断なのかもしれませんが、さっと作るときに action.yml に何を書けばよかったっけ?と調べるところから始めるのは不便です。 そこでマーケットプレースに公開するのに必要な項目を網羅した action.yml と LICENSE や
June 27, 2023 We have received customers reporting errors with Actions’ OIDC integration with AWS. This happens for customers who are pinned to a single intermediary thumbprint from the Certificate Authority (CA) of the Actions SSL certificate. There are two possible intermediary certificates for the Actions SSL certificate and either can be returned by our servers, requiring customers to trust bo
The GitHub Blog の記事 Enabling branch deployments through IssueOps with GitHub Actions を読んで「branch deployments(ブランチデプロイ)」というデプロイ戦略を知った💡 プルリクエストを main ブランチにマージしてから本番環境にデプロイするのではなく,プルリクエストを直接本番環境にデプロイして,動作確認の結果問題なしと判断できてからプルリクエストを main ブランチにマージするという流れが特徴的❗️そして,デプロイに異常があってロールバックする場合は main ブランチをデプロイして復旧する💡 記事に載ってるブランチ画像(Merge Deploy Model と Branch Deploy Model)は非常にわかりやすく見てみてもらえればと〜 github.blog IssueOp
GitHub Codespacesは、仮想マシン上に強力な統合開発環境(IDE)を提供し、性能の低いマシンを持つ開発者がローカルリソースを消耗せずにコーディングできるようにし、AI画像の生成など様々なタスクに利用することが可能です。 GitHubが最近発表した「2022 State of the Octoverse」レポートにおいて、HashiCorp Configuration Language(HCL)がGitHubで最も成長したプログラミング言語となりました。HashiCorpは、クラウドコンピューティングのためのInfrastructure as Code (IaC) 自動化のリーディングプロバイダーです。HCLは、Terraformや Vaultなどのツールと共に使用されるHashiCorpの設定言語で、マルチクラウドやオンプレミス環境において、人間が読みやすい設定ファイルでIa
You can configure your project to set up self-hosted GitHub Actions runners in CodeBuild containers to process your GitHub Actions workflow jobs. This can be done by setting up a webhook using your CodeBuild project, and updating your GitHub Actions workflow YAML to use self-hosted runners hosted on CodeBuild machines. For more information, see About self-hosted runners. The high-level steps to co
github.blog こういうの来て便利だな〜と思ってたけど、デバッグにも有用だった。 例えばGithub Actionsのon scheduleを使ってcronのように実行したい時、これまでだと デフォルトブランチにmergeして、その時間になるまで待つ ワークフローをトリガーするイベント - GitHub Docsのrepository_dispatchを有効にして、eventを発行する ただし ノート: このイベントがワークフローの実行を引き起こすのは、そのワークフローのファイルがmasterもしくはデフォルトブランチにある場合のみです。 という制約があって、変更をデフォルトブランチにmergeしないと試せなかった のように、両方とも一回デフォルトブランチにmergeしないとお試し出来なかった。 しかしworkflow_dispatchはブランチも自由に選べるので、変更しているブラ
GitHub、Apple M1チップでGitHub Actionsの処理を実行する「M1 macOSランナー」提供開始、パブリックベータとして GitHubは、コードのビルドやテスト環境などで使えるGitHub-hosted runnerとして、Apple M1チップによる「M1 macOSランナー」の提供をパブリックベータとして開始すると発表しました。 Speed up your GitHub Actions jobs on macOS with all new, faster Apple silicon powered M1 macOS larger runner for arm64. https://t.co/zUlsVaVAJZ — GitHub (@github) October 2, 2023 GitHubは、GitHub Actionsによるワークフローの一部として、コードの
GitHubが公式で出している開発メトリクスを取れるGitHub Actionsを紹介し試してみた内容を書きました! はじめに 今回はGitHub上での開発している際に、開発に関するメトリクスを取ることが出来るGitHub Actionsのissue-metricsについて紹介します。こちらのOSSはGitHubが公式のリポジトリで提供しているものになります。 issue-metricsにはデフォルトで、Pull Requestへの最初のコメントやクローズまでの時間計測などを特定の期間指定してレポートすることが出来ます。それ以外にもラベルと組み合わせることでラベルの付与/削除までの期間計測を利用することでオープンからレビューまでやレビューからapproveまでの時間などのメトリクスを取るような応用も出来ます。 本記事では、サンプルや実際の適用されているOSSの紹介、どんな機能が含まれている
この記事はSafie Engineers' Blog! Advent Calendar 2日目の記事です。 セーフィー株式会社でテックリードをやっております鈴木敦志です。 セーフィーはクラウドカメラのSaaSを提供しており、現在22万台程度のデバイスに対してカメラ映像をクラウドから視聴する機能を提供しています。 それに加えエンタープライズ向けの権限管理機能や社内向けの販売管理ツールなど複数のサービスを運営しており、各サービスでMySQLのDBを共有しているためDBのテーブル数が肥大化し構造がわかりにくくなり、新機能開発の妨げとなっていました。 本稿ではデータベースのドキュメンテーションツールである tbls を導入し、DBスキーマ管理ツール skeema、ドキュメント生成ツール mkdocs、Github Actionsなどと組み合わせてスキーマ管理からドキュメント生成までをやっていきます
この記事はコネヒトアドベントカレンダー21日目の記事です。 コネヒト Advent Calendar 2023って? コネヒトのエンジニアやデザイナーやPdMがお送りするアドベント カレンダーです。 コネヒトは「家族像」というテーマを取りまく様々な課題の解決を 目指す会社で、 ママの一歩を支えるアプリ「ママリ」などを 運営しています。 adventar.org はじめに コネヒトのプラットフォームグループでインフラ関連を担当している@yosshiです。 今年の7月に入社してから早いもので半年が経ちました。時が経つのは本当に早いですね。 今回のブログでは、セキュリティスキャンツールであるtrivyを使って、自動的にIaC (Infrastructure as Code)スキャンを実行する仕組みを構築した話をしたいと思います。 弊社ではインフラ構成をTerraform利用して管理するようにして
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く