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

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

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

継続的インテグレーション(CI)

textlintを使って文書校正環境を作ってみた

仕事柄、ブログを書いたり、たまに雑誌の記事を書いたりすることがあります。 Windowsを使っていた時代は一太郎とATOKを使って、書いた文章の文書構成をしていました。 MacではATOKは動きますが、一太郎は動きません*1。その上、今のATOKはサブスクしかない…

JenkinsにJavaを更新しなさいと言われたので更新した

UbuntuでJenkinsを動かしていて、JenkinsでとあるプロジェクトのCIを任せているのですが、ログインしたら 「システムに古いJavaが入っている。使っているJenkinsはJava 17以降もサポートしているので2025年のサポート終了までにアップグレードしてね (意訳…

OIDCでAWSとCircleCIと仲良くする

最近ちょっとCircleCIを触ることがあって、久しぶりに設定していたらaws-cliというOrbsがOIDCに対応していました。よくよく見てみるともう1年くらい前に対応してたみたいなんですが、全然キャッチアップできておらず…。せっかくなので最近の設定を試してみま…

Jenkins Pipelineを試す

現在さまざまな方法でDevOps CI/CD環境を実現できます。 そういった分野でJenkinsも使われてきました。 以前は私もJenkinsを使っていたものの最近触っていないなと思い触り始めたのですが、Jenkinsのバージョン2以降、Jenkins Pipelineという機能が追加され…

GitHub ActionsやCircleCIで連続Pushした時の振る舞いをどうするべきか考えてみた

CI/CDを当たり前にした状態で開発をしていると短い時間で連続的にPushすることも時としてあるのではないでしょうか。 短い時間で複数Pushしたときは最新の状態で1回だけ実行されれば期待している効果を得ることができますが、Push単位でワークフローが実行さ…

GitHub Actionsでself-hosted runnerを使ってみる

検証環境 Ubuntu 22.04 Runner追加 docs.github.com GitHubにリポジトリを追加 Settings > Actions > Runnersからランナーを追加 追加する画面にいくと以下のように追加手順が表示されるので、ランナーとなるマシンにSSHログインし実行する config.shを実行…

GitHub ActionsでOIDCを使ってみる

GitHub ActionsがOpenID Connect(OIDC)をサポートしたのは結構前の話なんですが、未だ検証できていませんでした。社内でもSecretにクレデンシャル持つのはそろそろ辞めたいよねっという話が出ていますので、検証がてら記録を残しておきます。 ゴール GitHub …

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の…

イベントレポート 第2回とことんDevOps勉強会「実際にCI/CDを動かしてみよう」

3月16日に第2回とことんDevOps勉強会「実際にCI/CDを動かしてみよう」を開催しました。前回同様にたくさんの皆さんに参加いただきました。 今回のとことんDevOps勉強会は日本仮想化技術の水野から、「実際にCI/CDを動かしてみよう - GitHubとCircleCIで始め…

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

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

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

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

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

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