ここ数年、Zoomなどを利用したリモート会議が増えた、というより当たり前になりました。それにともない、イベントでの登壇も、オンラインで行うようになりましたよね。筆者が以前から不満に思っていたのは、いわゆる「発表時のパワポの挙動」です。 オフライ…
先日、株式会社インプリム様と弊社がパートナー契約を締結したこともあり、社内にPleasanterの検証環境が必要になりました。 devops-blog.virtualtech.jp Pleasanterのインストール手順はユーザーマニュアルにある通りなのですが、見ての通り、色々面倒です…
Gitのグローバルな設定は、ホームディレクトリの.gitconfigファイルに記述されています。例えばGitを使いはじめる際には、コミットに記載されるユーザー名とメールアドレスを設定しますよね。具体的には以下のように。 [user] name = Hajime MIZUNO email = …
弊社ではGitHub Actionsの登場以前からCI/CDを行っていることもあり、CI環境としてはCircleCIが標準となっています。とはいえ開発の中心はやはりGitHubであり、GitHub上で自己完結できるという点において、GitHub Actionsの優位性は見逃せません。 今まで筆…
Podmanとは、Dockerと互換性のあるコンテナ実行環境です。Red Hatが開発していることもあり、現在のRHELではDockerのかわりに利用されています。Podmanに対する筆者の理解は 基本的にはDockerと同じことができる デーモンレスでセキュアらしい Red Hatの色が…
セキュリティ上の理由から、AWSマネジメントコンソールへのログインイベントを、メールやSlackに通知することはよくありますよね。現在ではAWS User Notificationsを使えば、簡単に実現できます。 それとは別に、アクセスキーの使用を検出したいことってない…
IaCツールと言えば、ここ数年で飛躍的に成長しているのがTerraformですよね。 Terraformはドキュメントも充実していますし、その流行りっぷりからWeb上にも情報がたくさん存在します。そのため「あれがやりたい」という問題に直面した際、場当たり的にググる…
日々に作業には様々なツールを利用しますよね。Emacs、Vim、tmuxといったツールを導入すると、カスタマイズ沼にハマってしまい、ついつい一日中設定ファイルをいじり回してしまったという経験のある人も多いのではないでしょうか。しかしこうした現象は一過…
忙しい人向けのまとめ pee コマンドは標準出力を複数のコマンドに同時にパイプできるよ! teeコマンドってあるじゃん? tee というコマンドがありますよね。標準入力を標準出力と同時に、ファイルに書き出すコマンドです。よく使うのは、コマンドの出力をroot…
AWSのLambda使ってますか? 便利ですよね。 ちょっとした機能をサーバーレスで実装できるLambdaですが、AWSの外部からWebhook的に関数をコールしようとすると、従来はAPI Gatewayを用意してあげる必要がありました。ところが最近では、Lambdaに関数URLという…
本ブログでは、GitOpsを実現するためのツールであるArgo CDを何度か紹介してきました。今回はArgo CDを使って、Helmで管理されたアプリケーションを更新する方法を紹介します。 前提条件 前提として、以下の記事に従ってEKS上にArgo CDのセットアップが済ん…
忙しい人向けの結論 現在CircleCIでUbuntu 22.04のコンテナイメージをビルドする場合は、Remote Dockerの場合はバージョン20.10.12以降、Machine Executorの場合はubuntu-2204:2022.04.1以降を、明示的に指定して利用してください。 解説 2022年4月21日に、U…
オンプレミスでCircleCI Serverを動かすシリーズの第5回、今回で最終回となります。前回はNomadクライアントを構築し、ジョブの実行を可能にしました。今回はさらにVMサービスを構築し、Machine ExecutorやRemote Dockerの実行を可能にしていきます。 セキュ…
オンプレミスでCircleCI Serverを動かそうシリーズの第4回です。前回までで、CircleCI Serverのコントロールプレーンは動作しました。今回は実際にジョブを実行するNomadクライアントを構築します。 Terraform設定ファイルの取得 Nomadクライアントは、EKSク…
オンプレミスでCircleCI Serverを動かすシリーズの第3回目です。前回までで、インストールの準備は整いましたので、いよいよCircleCI Server本体をインストールしていきます。 コアサービスのインストール 以下のようにKOTSを使ってアプリをインストールしま…
オンプレミスでCircleCI Serverを動かすシリーズの第2回です。前回は必要となるツールをインストールしました。今回はこれらのツールを使い、CircleCIサーバーを動かすためのEKSクラスター、アーティファクトを保存するS3バケット、アーティファクトをセキュ…
CircleCIを利用することで、お手軽にCIを開始できることは、過去のエントリーでも繰り返し紹介してきました。しかし機密保持等の事情から、クラウドサービスを利用できない環境もあるのではないでしょうか。 こうしたケース向けに、CircleCIではオンプレミス…
CircleCIを使えば、VCSにコードをPushするだけで自動的にCIを行えます。非常にお手軽ですが、テストの内容に間違いがって正しくテストが行えなかったり、YAMLの文法エラーによってそもそもジョブが起動しなかったり、といったことがよくあります。つまりCIの…
CIを日常的に行うようになると、気になってくるのがジョブの実行時間です。無視できないほど長いビルドの待ち時間は、開発における大きなボトルネックです。それにCircleCIでは利用した時間に応じて課金が行われますので、なるべく無駄な処理は慎み、短い時…
前回のエントリーで、コミットをトリガーとしてCIが動作するようになりました。ですがCIの結果は、CircleCIのダッシュボードから確認する必要があります。コミットの度に発火するCIの結果を、都度確認しに行くのは面倒ですよね。そして人間は面倒なことはす…
CI/CDとは何かのエントリーでは、CI/CDの概要について解説しました。そこで本エントリーでは、実際にGitHubとCircleCIを用いて、CI/CDワークフローを動かしてみましょう。 なぜCircleCIなのか 前述のエントリーで、CI/CDを実現する様々なツールを紹介しまし…
AWS環境を操作する場合、省力化や自動化のためにawsコマンドをターミナルから叩くのは日常的ですよね。操作する環境がひとつだけであればよいのですが、テスト環境と本番環境でアカウントが分かれていたり、また複数のプロジェクトに参画している場合に問題…
DevOpsとは、簡単に言ってしまえば開発(Dev)と運用(Ops)が協力して、開発やリリースのスピードを上げていくための方法論です。勘違いしやすいかもしれませんが、DevOpsはあくまで方法論であり、特定の技術や手法を指す言葉ではありません。そのためDevOpsを…