とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

Pleasanter 1.4.8.1をDocker Composeで動かす

先日、株式会社インプリム様と弊社がパートナー契約を締結したこともあり、社内にPleasanterの検証環境が必要になりました。 devops-blog.virtualtech.jp Pleasanterのインストール手順はユーザーマニュアルにある通りなのですが、見ての通り、色々面倒です…

Gitでディレクトリごとに設定を使い分ける

Gitのグローバルな設定は、ホームディレクトリの.gitconfigファイルに記述されています。例えばGitを使いはじめる際には、コミットに記載されるユーザー名とメールアドレスを設定しますよね。具体的には以下のように。 [user] name = Hajime MIZUNO email = …

「GitHub CI/CD実践ガイド」を読んで、GitHub Actionsを始めよう

弊社ではGitHub Actionsの登場以前からCI/CDを行っていることもあり、CI環境としてはCircleCIが標準となっています。とはいえ開発の中心はやはりGitHubであり、GitHub上で自己完結できるという点において、GitHub Actionsの優位性は見逃せません。 今まで筆…

Podmanイン・アクションは、Docker経験者向けのPodman入門書として最適だった

Podmanとは、Dockerと互換性のあるコンテナ実行環境です。Red Hatが開発していることもあり、現在のRHELではDockerのかわりに利用されています。Podmanに対する筆者の理解は 基本的にはDockerと同じことができる デーモンレスでセキュアらしい Red Hatの色が…

AWSアクセスキーの使用を検出して通知する方法

AWS

セキュリティ上の理由から、AWSマネジメントコンソールへのログインイベントを、メールやSlackに通知することはよくありますよね。現在ではAWS User Notificationsを使えば、簡単に実現できます。 それとは別に、アクセスキーの使用を検出したいことってない…

詳解Terraform 第3版を読んだので感想を書く

IaCツールと言えば、ここ数年で飛躍的に成長しているのがTerraformですよね。 Terraformはドキュメントも充実していますし、その流行りっぷりからWeb上にも情報がたくさん存在します。そのため「あれがやりたい」という問題に直面した際、場当たり的にググる…

zshにPowerlevel10kを導入したので、使用中のKUBECONFIGを表示できるようにした

日々に作業には様々なツールを利用しますよね。Emacs、Vim、tmuxといったツールを導入すると、カスタマイズ沼にハマってしまい、ついつい一日中設定ファイルをいじり回してしまったという経験のある人も多いのではないでしょうか。しかしこうした現象は一過…

今更だけどpeeコマンドが便利だった話

忙しい人向けのまとめ pee コマンドは標準出力を複数のコマンドに同時にパイプできるよ! teeコマンドってあるじゃん? tee というコマンドがありますよね。標準入力を標準出力と同時に、ファイルに書き出すコマンドです。よく使うのは、コマンドの出力をroot…

今さらながら、curlがAWSのSigV4に対応していることを知った話

AWS

AWSのLambda使ってますか? 便利ですよね。 ちょっとした機能をサーバーレスで実装できるLambdaですが、AWSの外部からWebhook的に関数をコールしようとすると、従来はAPI Gatewayを用意してあげる必要がありました。ところが最近では、Lambdaに関数URLという…

Argo CDのアプリケーションをArgo CDで管理する

本ブログでは、GitOpsを実現するためのツールであるArgo CDを何度か紹介してきました。今回はArgo CDを使って、Helmで管理されたアプリケーションを更新する方法を紹介します。 前提条件 前提として、以下の記事に従ってEKS上にArgo CDのセットアップが済ん…

CircleCIでUbuntu 22.04ベースのコンテナをビルドすると、apt-getが失敗する問題

忙しい人向けの結論 現在CircleCIでUbuntu 22.04のコンテナイメージをビルドする場合は、Remote Dockerの場合はバージョン20.10.12以降、Machine Executorの場合はubuntu-2204:2022.04.1以降を、明示的に指定して利用してください。 解説 2022年4月21日に、U…

オンプレミスでCircleCI Serverを動かそう(その5) VMサービスの構築編

オンプレミスでCircleCI Serverを動かすシリーズの第5回、今回で最終回となります。前回はNomadクライアントを構築し、ジョブの実行を可能にしました。今回はさらにVMサービスを構築し、Machine ExecutorやRemote Dockerの実行を可能にしていきます。 セキュ…

オンプレミスでCircleCI Serverを動かそう(その4) Nomadクライアントの構築編

オンプレミスでCircleCI Serverを動かそうシリーズの第4回です。前回までで、CircleCI Serverのコントロールプレーンは動作しました。今回は実際にジョブを実行するNomadクライアントを構築します。 Terraform設定ファイルの取得 Nomadクライアントは、EKSク…

オンプレミスでCircleCI Serverを動かそう(その3) コアサービスのインストール編

オンプレミスでCircleCI Serverを動かすシリーズの第3回目です。前回までで、インストールの準備は整いましたので、いよいよCircleCI Server本体をインストールしていきます。 コアサービスのインストール 以下のようにKOTSを使ってアプリをインストールしま…

オンプレミスでCircleCI Serverを動かそう(その2) 事前準備編

オンプレミスでCircleCI Serverを動かすシリーズの第2回です。前回は必要となるツールをインストールしました。今回はこれらのツールを使い、CircleCIサーバーを動かすためのEKSクラスター、アーティファクトを保存するS3バケット、アーティファクトをセキュ…

オンプレミスでCircleCI Serverを動かそう(その1) ツールのインストール編

CircleCIを利用することで、お手軽にCIを開始できることは、過去のエントリーでも繰り返し紹介してきました。しかし機密保持等の事情から、クラウドサービスを利用できない環境もあるのではないでしょうか。 こうしたケース向けに、CircleCIではオンプレミス…

CircleCI CLIを活用してローカルでテストを行う方法

CircleCIを使えば、VCSにコードをPushするだけで自動的にCIを行えます。非常にお手軽ですが、テストの内容に間違いがって正しくテストが行えなかったり、YAMLの文法エラーによってそもそもジョブが起動しなかったり、といったことがよくあります。つまりCIの…

CircleCIのキャッシュを活用してビルド時間を短縮する

CIを日常的に行うようになると、気になってくるのがジョブの実行時間です。無視できないほど長いビルドの待ち時間は、開発における大きなボトルネックです。それにCircleCIでは利用した時間に応じて課金が行われますので、なるべく無駄な処理は慎み、短い時…

CircleCIのテスト結果をSlackに通知するには

前回のエントリーで、コミットをトリガーとしてCIが動作するようになりました。ですがCIの結果は、CircleCIのダッシュボードから確認する必要があります。コミットの度に発火するCIの結果を、都度確認しに行くのは面倒ですよね。そして人間は面倒なことはす…

GitHubとCircleCIでCI/CDをはじめよう

CI/CDとは何かのエントリーでは、CI/CDの概要について解説しました。そこで本エントリーでは、実際にGitHubとCircleCIを用いて、CI/CDワークフローを動かしてみましょう。 なぜCircleCIなのか 前述のエントリーで、CI/CDを実現する様々なツールを紹介しまし…

AWSプロファイルを環境変数で切り替える

AWS

AWS環境を操作する場合、省力化や自動化のためにawsコマンドをターミナルから叩くのは日常的ですよね。操作する環境がひとつだけであればよいのですが、テスト環境と本番環境でアカウントが分かれていたり、また複数のプロジェクトに参画している場合に問題…

CI/CDとは何か

DevOpsとは、簡単に言ってしまえば開発(Dev)と運用(Ops)が協力して、開発やリリースのスピードを上げていくための方法論です。勘違いしやすいかもしれませんが、DevOpsはあくまで方法論であり、特定の技術や手法を指す言葉ではありません。そのためDevOpsを…