きり丸の技術日記

技術検証したり、資格等をここに残していきます。

CI/CD

ビルド時間短縮のために途中ステージをpushする

始めに 弊社のシステムではECSを使用しているのですが、ここ最近Dockerイメージのビルド時間が大幅に延長されてしまっていました。そのうち、大幅な時間を占めているのがライブラリのインストール時間で、CPUの使用率が高くなって応答が非常に遅くなっていま…

RailsのRSpecテストを並列化して30分から12分に短縮した(parallel_testsと性能アップ)

CI上のRailsのRSpecテストが30分もかかっていてストレスフルだったので、テストを並列化する等で30分かかっていた時間を12分まで削減しました。 そのときのメモ。 環境 AWS CodeBuild Ruby 2.7.2 Rails 6.0.3.6 Parallel_tests 4.4.0 MySQL 8 前提 docker co…

【GitHub Actions】npmのpackage.jsonをアップデートするPull Requestを作成する

package.jsonのライブラリバージョンを、現在推奨されているバージョンまでアップデートする方法を探していました。そんなに多用するものではないので、GitHub Actionsでなんとかできないか探したのがこちらの記事です。 環境 taichi/actions-package-update…

JenkinsでGit PushしたらGit detached HEADが発生した

Jenkinsで2回も同じ箇所で引っかかったので、ブログ化。新規性はありません。 状況 Jenkins上でGitリポジトリとブランチを指定して、JenkinsFileを取得している。同一のリポジトリにリリースバージョンを管理するファイルがあり、パイプラインでリリースする…

Jenkinsのパイプラインで起動したシェルを永続化する(ProcessTreeKiller回避)

Jenkinsのパイプラインから起動することで、常に最新の資材が展開されているnodeサーバを建てようとしました。 しかし、Jenkinsサーバでコマンドを打つとnodeサーバが起動するものの、Jenkinsのパイプラインからコマンドを実行すると起動しません。Jenkins上…

LAPRAS SCOREをPythonで取得し、GitHub ActionsでGitHub Profileを更新する

私は自分の力を客観的に判断するために、LAPRAS様を利用しています。LAPRAS様でLAPRAS SCOREなるエンジニアの能力を数値化したものがあり、そちらを利用してGitHub Profileに貼り付けていましたが、自分でキャプチャして画像化したものなので一定期間更新し…

GitHubに登録しているJavaアプリをHerokuにアップロードする

きり丸アドベントカレンダー2020の5記事目です。 Herokuを初めて使ってみました。なんだかんだ、デプロイ設定が面倒くさいだろうと使っていませんでしたが、アドベントカレンダーで使用するいい機会だと思って素振りしました。 いろんな設定を自動でやってく…

GitHub Actionsで常に実行するステップを作成する(ジョブステータスのチェック関数)

検証中、成功していたGitHub Actionsが意図しない箇所で失敗するようになりました。失敗したログがGitHub Actions上にあるものの、SSHでのアクセスができないのでログファイルを取得することはできません。 ログをArtifactoryに上げるworkflowは使用していた…

【GitHub Actions】マーケットプレイスのworkflowでfirebaseにhostingする【w9jds/firebase-action】

私のブログで最も人気のある記事が「GitHub ActionsでFirebaseにデプロイする」です。 nainaistar.hatenablog.com 不勉強だったのですが、GitHub Actionsのマーケットプレイスにある【w9jds/firebase-action】というworkflowでもfirebaseにデプロイする方法…

GitHub ActionsでJavaのテスト結果をアップロードする

※ 公式ヘルプがすごい充実しているので、やったことをただ綴るだけの駄文。 独自性はない。 CI/CDを導入している現場では、テスト結果をアップロードして失敗した場合にすぐに確認できるような仕組みを作っていると思います。 なので、それを素振りしました…

GitHub ActionsでFirebaseにデプロイする

先週参加したweb1weekで、Github Actionsを使用したFirebaseへのデプロイの構築に2-3時間くらいかかってしまったので、自分が忘れないようにするためのメモ。 公開するのが決まっているのなら、CI/CDは後に回すメリットはないと考えてます。 アジャイル開発…

【CICD】CircleCIからSlackへ任意のメッセージを送る

CircleCIからSlackへデプロイ成否を伝える方法が書いてあるブログはたくさんあるが、任意のメッセージを送れるようにする方法が見つからなかったので、自分用メモとして残す。 要約 CircleCIのOrbsのcircleci/slack@1.0.0を使う 使い方 使い方も、以下のペー…