継続的インテグレーション(CI)
仕事柄、ブログを書いたり、たまに雑誌の記事を書いたりすることがあります。 Windowsを使っていた時代は一太郎とATOKを使って、書いた文章の文書構成をしていました。 MacではATOKは動きますが、一太郎は動きません*1。その上、今のATOKはサブスクしかない…
UbuntuでJenkinsを動かしていて、JenkinsでとあるプロジェクトのCIを任せているのですが、ログインしたら 「システムに古いJavaが入っている。使っているJenkinsはJava 17以降もサポートしているので2025年のサポート終了までにアップグレードしてね (意訳…
最近ちょっとCircleCIを触ることがあって、久しぶりに設定していたらaws-cliというOrbsがOIDCに対応していました。よくよく見てみるともう1年くらい前に対応してたみたいなんですが、全然キャッチアップできておらず…。せっかくなので最近の設定を試してみま…
現在さまざまな方法でDevOps CI/CD環境を実現できます。 そういった分野でJenkinsも使われてきました。 以前は私もJenkinsを使っていたものの最近触っていないなと思い触り始めたのですが、Jenkinsのバージョン2以降、Jenkins Pipelineという機能が追加され…
CI/CDを当たり前にした状態で開発をしていると短い時間で連続的にPushすることも時としてあるのではないでしょうか。 短い時間で複数Pushしたときは最新の状態で1回だけ実行されれば期待している効果を得ることができますが、Push単位でワークフローが実行さ…
検証環境 Ubuntu 22.04 Runner追加 docs.github.com GitHubにリポジトリを追加 Settings > Actions > Runnersからランナーを追加 追加する画面にいくと以下のように追加手順が表示されるので、ランナーとなるマシンにSSHログインし実行する config.shを実行…
GitHub ActionsがOpenID Connect(OIDC)をサポートしたのは結構前の話なんですが、未だ検証できていませんでした。社内でもSecretにクレデンシャル持つのはそろそろ辞めたいよねっという話が出ていますので、検証がてら記録を残しておきます。 ゴール GitHub …
忙しい人向けの結論 現在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の…
3月16日に第2回とことんDevOps勉強会「実際にCI/CDを動かしてみよう」を開催しました。前回同様にたくさんの皆さんに参加いただきました。 今回のとことんDevOps勉強会は日本仮想化技術の水野から、「実際にCI/CDを動かしてみよう - GitHubとCircleCIで始め…
CIを日常的に行うようになると、気になってくるのがジョブの実行時間です。無視できないほど長いビルドの待ち時間は、開発における大きなボトルネックです。それにCircleCIでは利用した時間に応じて課金が行われますので、なるべく無駄な処理は慎み、短い時…
前回のエントリーで、コミットをトリガーとしてCIが動作するようになりました。ですがCIの結果は、CircleCIのダッシュボードから確認する必要があります。コミットの度に発火するCIの結果を、都度確認しに行くのは面倒ですよね。そして人間は面倒なことはす…
CI/CDとは何かのエントリーでは、CI/CDの概要について解説しました。そこで本エントリーでは、実際にGitHubとCircleCIを用いて、CI/CDワークフローを動かしてみましょう。 なぜCircleCIなのか 前述のエントリーで、CI/CDを実現する様々なツールを紹介しまし…