APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

CI/CD

GitLab Deployment approvalsで安全なデプロイを実現する

こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。 今回はGitLabのDeployment approvalsを紹介します。Deployment approvalsは指定した環境へのデプロイ実行に特定ユーザーからの承認を要求し、意図しないタイミングのデプロイを防ぎます…

GitLab Service accountとReviewdogを使ってCloudFormationテンプレートをレビューする

こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。 今回はGitLab Service accountとReviewdogを組み合わせた例を紹介します。Service accountは有効期限のないアクセストークンを発行できます。発行したトークンをReviewdogに渡して利用…

EC2にJenkinsを立てて、ビルドジョブの作成と実行をする

こんにちは。クラウド事業部の菅家です。 EC2にJenkinsをインストールし、ジョブ作成まで実施しましたので手順について紹介します。 やったこと概要 EC2(AmazonLinux 2023)に対してJenkinsを立てる Jenkinsジョブにてコンテナをビルドし、ECRに配置 ビルド…

CodeCommit上のREADME.mdに画像を表示させる

こんにちは、クラウド事業部 CI/CDサービスメニューチームの島田です。CodeCommitを利用した際に、README.mdという名前のマークダウンファイルを作成することで、このリポジトリの用途を説明することができます。 README.mdには図を表示させることもできます…

GitLabのtemplate機能を組み合わせて開発生産性を向上する

こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。 今回はGitLabが提供する各種template機能を利用し、開発者の生産性の向上を目指すパターンをいくつか紹介いたします。template機能をまだ使っていない方や一部しか使ったことがない方は…

【全部!Cloudformation化】CodeCommit、CodePipelineを使って簡易CICD

こんにちは、クラウド事業部 CI/CDサービスメニューチームの島田です。以前CICDの入門サンプルとしてS3へのデプロイをCodeCommit、CodePipelineを使って実施する方法をご紹介しました。 techblog.ap-com.co.jpまた、一部をCloudformationで展開する方法も紹…

GitLab CI/CDでSpring Bootアプリケーションをビルドする

こんにちは、クラウド事業部 CI/CDサービスメニューチームの西野です。 Spring BootでHello Worldを表示するアプリケーションをGitLabのCI機能を使ってビルドする方法を紹介します。 GitLabのCI機能がどのように動くのか、シンプルなアプリケーションで一度…

GitLab 17.0 の紹介: CI/CD CatalogのGA、Linux ArmベースのRunner導入、GitLab Duo ChatのClaude 3 Sonnetへの変更など

こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。 今回は5月16日にリリースされたGitLab 17.0 のアップデート内容を紹介します。本記事ではすべてのアップデート情報を詳細に記載してはいませんので、興味ある内容があれば各ドキュメン…

GitLabのMerge request approval rules / Code Ownersでチーム開発時のレビュー品質を向上する

こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。 今回はGitLab上で安全に開発・リリースを進めるうえで重要なMerge request approval rules / Code Ownersを紹介します。 docs.gitlab.com docs.gitlab.com 背景 Merge request approval…

GitLab rulesを理解してCI/CD Jobの起動を制御する

こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。 今回はGitLab CI/CDを扱う上で重要なキーワードである rules について、その使い方を整理しました。 docs.gitlab.com 背景 rulesの紹介 前提 rules:if rules:changes rules:exists rule…

【一部Cloudformation化】CodeCommit、CodePipelineを使って簡易CICD

こんにちは、クラウド事業部 CI/CDサービスメニューチームの島田です。以前CICDの入門サンプルとしてS3へのデプロイをCodeCommit、CodePipelineを使って実施する方法をご紹介しました。 techblog.ap-com.co.jpそれをもう少し試しやすくするCloudformationテ…

CodeCommit、CodePipelineを使って簡易CICD

こんにちは、クラウド事業部 CI/CDサービスメニューチームの島田です。CICDの入門サンプルとしてS3へのデプロイをCodeCommit、CodePipelineを使って実施する方法を確認してみました。 そのやり方について記事に残しておきます。 やりたいこと コード管理はAW…

CI/CDの定義をちゃんと理解する

新年あけましておめでとうございます。2024年もよろしくお願いします。 (このエントリは東京近郊の初日の出の時間にあわせ日本時間の1月1日 6:50に公開) 新年最初の投稿を何で始めようかいろいろ考えたのですが、最初は簡単な内容からはじめたいと思います…

GitLab無償版について調べてみた

こんにちは。 クラウド事業部CI/CDサービスメニューチームです。 1.はじめに CI/CDツールとして今後GitLabの導入を考えている、GitLabを動かしてみたい、という方はいらっしゃいますでしょうか。 その場合、ライセンスを購入する前に試してみたい!という方…

[Dagger] コードでDockerイメージをBuildする

はじめに Dockerfileを用いてBuild Dockerfileを使用せずにコードでBuild Dockerfileを用いないMulti-Stage Build さいごに ACS事業部のご紹介 はじめに こんにちはACS事業部の谷合です。 みなさんDaggerなるツールをご存じでしょうか? Daggerとは、数か月前…

【リファクタリング】変更したファイルだけCIの対象にする

はじめに こんにちは、コンテナソリューション事業部の髙井です。今日は小ネタです。 「フォーマットすらかかっていないコードベースを、どうにかきれいにしていきたい!」 「ならばCIで自動的に弾きたい!」 「でもCIを導入すると全ファイル引っかかっちゃ…

Azure PipelinesでSelf-hosted agentを利用してみた

はじめに こんにちは、ACS事業部の過部です。 この記事では、Azure PipelinesでSelf-hosted agentを利用するための作業手順をご紹介します。 Self-hosted agentとは Azure Pipelinesでパイプラインを実行するためには、実際の処理を担うエージェントが必要と…

renovate導入は継続的な改善が重要

renovate導入したらそこはゴールではなくスタート地点だった 先日 ライブラリ自動更新に renovate を導入したときの状況をご紹介しました。 techblog.ap-com.co.jp やはり数日で、「ここはちょっと変えたいな」というところが出てきました。 今回はその対応…

ライブラリ自動更新にrenovateを導入してみる

renovate導入の話 みなさんはアプリケーションで使用しているライブラリ等の更新どうされていますか? 手動で行われていますか?それとも何か自動ツールを利用されていますか? 今回はそうしたライブラリ等の自動更新ツールであるrenovateを導入したときの …

Azure PipelinesでTerraformを使ったインフラCI/CDを行う

はじめに 今回の環境 準備 Terraform Extension Azureの認証情報 Pipelinesの作成 Terraform Pipelinesのサンプル Variable Installer Format Plan Apply/Destroy おわりに はじめに こんにちは、ACS事業部の安藤です。 これまでAzure, AWS, GCPなど様々なク…

Azure PipelinesのエージェントとしてVMSSを使う

はじめに こんにちは、ACS事業部の吉川です。 Azure DevOpsでPipelineを実行する際、エージェント(ジョブを実行するマシン)には大別して以下の3種類があります。 Microsoft-hosted agent … Microsoftが用意したマシンを利用する。 Self-hosted agent … 利…

AKSでGitOps(Flux v2)を使う (1)

GitOpsとは GitOpsというのをご存知でしょうか。 GitOpsはWeaveworks社が提唱した、Kubernetesへのワークロードの 継続的デプロイ(CD)方法です(Git to GitOps) 。 GitOpsは4つの原則があります システムを宣言的に記述する 望ましいシステム状態をGitでバー…

GitHub Actions利用時のnpm ciの時間を短縮する

はじめに 以前 「Azure Pipelines利用時のnpm ciの時間を短縮する」という投稿で、Azure Pipelinesでのビルド成果物のキャッシュをご紹介しました。 今回は同様のことをGitHub Actionsで行ってみたいと思います。 キャッシュを活用する npmのキャッシュ 早速…

Azure PipelinesでNodeJSのコードカバレッジ情報を収集する

はじめに 皆さん、快適なビルドライフ過ごせていますか?品質に対する取り組みは行われていますか? 継続的にシステムを開発する場合、アプリケーションの品質をどのように担保するかが重要な要素となってくると思います。 そんなときに必要になってくるもの…

Azure Pipeline利用時のnpm ciの時間を短縮する

はじめに 梅雨のシーズン、皆様いかがお過ごしでしょうか。 私は先日、あじさいを観に八景島に行ってまいりました。八景島にはここでしか見られない「八景ブルー」というあじさいがあり、ちょうど見頃を迎えつつあった頃でした。スマートフォンで撮影した写…