並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 28 件 / 28件

新着順 人気順

CloudBuildの検索結果1 - 28 件 / 28件

  • Google CloudのCloudBuild + KMSで機密ファイルを暗号化して管理する

    ZennではAPIサーバーを動かすためにGCPを使っています。具体的にはCI/CDサービスのCloudBuildからAppEngineデプロイするようにしています。 その中で少しややこしいのが機密データを含むファイルの管理です。 GCPのプロジェクトの場合にはCloud Key Management System(KMS)というものを合わせて使うとCloudBuildのステップの中で暗号化したファイルを復元できます。 例えば、秘匿情報を含む.envというファイルがあるとして、GitHub等にはプッシュしたくないが、AppEngineで動かすアプリの中で読み込みたいというケースを考えてみます。 GCPではCloudBuild + KMSを使うことで実現が可能です。 大まかな流れ .gitignoreに.envを指定 ローカルでKMSにより.envを暗号化(.env.encファイルが作成される

      Google CloudのCloudBuild + KMSで機密ファイルを暗号化して管理する
    • Next.jsをGAEで動かす(CloudBuildから自動デプロイ)

      Next.jsアプリをGoogle App Engine(GAE)のスタンダード環境にデプロイする方法をまとめておきます。GitHubなどからCI/CDができるようにGoogle Cloud Buildから自動デプロイする方法も合わせて紹介します。 Next.jsアプリがすでに作成されているという前提で説明をはじめます。 1. app.yamlの設定 まずはプロジェクト内のルートなどにapp.yamlを作成します。GAEへのデプロイ設定の大部分はここで行います。今回は例として以下のようにします。 env: standard # スタンダード環境(省略可) runtime: nodejs14 # Node.js 14を使う(追記: nodejs16も使えるようになりました) instance_class: F4 service: default # GAEのサービスの名前。frontendと

        Next.jsをGAEで動かす(CloudBuildから自動デプロイ)
      • CloudbuildでDockerイメージビルドとContainer Registryに登録 | DevSamurai

        記事の目的Dockerイメージビルドして、Container Registryに登録するまでは複数ステップがあって、毎回各ステップ別で実施するとめんどくさい。 それを解決するため、Cloudbuildを使って複数ステップをまとめてビルドを行います。 Cloudbuildを使わない場合、GKEにデプロイする手順は下記のステップとなる Dockerイメージのビルド GCP Container RegistryにDockerイメージを登録(複数操作実施) Container RegistryからアプリケーションをGKEにデプロイ この記事では、Cloudbuildを使って最初の2つの手順をまとめて1回で実施できる。 Cloudbuildでイメージ作成とContainer Registryに登録(まとめて1回実施) Container RegistryからアプリケーションをGKEにデプロイ 実施手

          CloudbuildでDockerイメージビルドとContainer Registryに登録 | DevSamurai
        • CloudBuild で最強のTerraform & Terragrunt CI/CD環境を作る

          こんにちはミクシィの 開発本部 SREグループ の riddle です。 私が所属するチームではインフラを Terraform で管理しています。 https://www.hashicorp.com/brandTerraform の実行は CI で管理されており、GitHub の Pull Request(以下PR) が作成・修正されると Terraform plan CIを実行し、PRのマージ時には Terraform apply CI を実行するようにしています。 今のままでも便利なのですが、より快適にするべくいくつかの目標をたてて改善することにしました。 可能な限り Terraform plan / apply を高速にしたいTerraform plan を並列に実行したいCI の価格を抑えたい(plan / apply ジョブの実行時間を最小にしたい)Terraform の運用を簡

            CloudBuild で最強のTerraform & Terragrunt CI/CD環境を作る
          • CloudBuild 事始め |

            クラウドインフラ構築記 現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。 Container Builder 改め、CloudBuildについて、すこし試してみました。 CloudBuildの詳細についてはこちらです。 https://cloud.google.com/cloud-build/ CloudBuild用のコンテナを使って、CI処理を組んでいきます。対応ランタイムは下記となる。 Bazel、Curl、Docker、Dotnet、Gcloud、Git、Go、Gradle、Gsutil、Kubectl、Mvn、Npm、Wget、yarn cloudbuild.ymlの例。Cloud Functionsのデプロイ例。Cloud Buildとリー

            • gcloudコマンドでFunctionsを利用しているプロジェクトのCloudBuild APIを有効化する

              なんか blog とか発表出ないんかなと思って待ってたんだけど出ないっぽいのでリンクはないけど、Google Cloud Functions が deploy の仕組みに Cloud Build 使うことにしたからちゃんと API 有効にしとけよと言われたので対応しますた。 Functions APIを利用しているプロジェクトの一覧を作る for i in `gcloud projects list | awk '{if (NR > 1) print $1}'` do gcloud services list --project $i 2>&1 | awk -v proj=$i '/Functions/ {print proj}' done

              • TerraformでCloudBuildとGitHub連携を自動化して更にSlack通知の構成も自動化してみた

                はじめ Web サービスのインフラで GoogleCloud を使っている場合 GitHubActions ではなく CloudBuild で CI/CD のパイプラインを構築しているケースがあるかと思います。 コンソール画面でぽちぽちしながら CloudBuild と GitHub を連携するのって意外と面倒ですよね。 CloudBuild では 第二世代 から Terraform でこの連携を自動化できるようになりました。 今回はこれに加えて CloudBuild の状況を Slack に通知できる構成も Terraform を使って自動化できるようにしていきたいと思います。 実は CloudBuild の Slack 通知の構成の自動化は GoogleCloud の公式ドキュメント にもあるようにCloud Build Notifierというイメージを使うことで Terraform

                  TerraformでCloudBuildとGitHub連携を自動化して更にSlack通知の構成も自動化してみた
                • CloudBuildでgolangci-lintを実行する

                  steps: # golangci-lintのDockerイメージを指定する - name: 'golangci/golangci-lint' # デフォルトの設定でgolangci-lintを実行する args: ['golangci-lint', 'run'] golangci-lint[1]とは golangci-lint is a fast Go linters runner. It runs linters in parallel, uses caching, supports YAML configuration, integrates with all major IDEs, and includes over a hundred linters. golangci-lintは高速なGoリンターランナーです。 並列にリンターを実行し、キャッシュを使い、YAML設定をサポートし

                    CloudBuildでgolangci-lintを実行する
                  • CloudBuildとGitHubで、GitOpsスタイルの継続的デリバリー - Qiita

                    timeout: 780s steps: - id: build and push grpc-gateway image name: gcr.io/kaniko-project/executor:latest args: - --destination=gcr.io/$PROJECT_ID/grpc-gateway:${SHORT_SHA} - --cache=true - --cache-ttl=6h - --dockerfile=Dockerfile.proxy - --build-arg=PROJECT_ID=${PROJECT_ID} - id: build and push grpc-server image name: gcr.io/kaniko-project/executor:latest args: - --destination=gcr.io/$PROJECT_ID/g

                      CloudBuildとGitHubで、GitOpsスタイルの継続的デリバリー - Qiita
                    • CloudBuildで特定のディレクトリをcacheして高速化する - Qiita

                      GCPのCI/CDサービスであるCloudBuildで、特定のディレクトリをCacheして高速化する方法です。 node_modulesのcacheを例として説明しますが、他の言語でも何でもいけるはずです。 Cloud Build: サーバーレス CI / CD プラットフォーム  |  Google Cloud CloudBuildでの高速化方法 公式ドキュメントでいくつか紹介されています。 ビルドを高速化する際のおすすめの方法  |  Cloud Build のドキュメント  |  Google Cloud 今回は、「Google Cloud Storage でのディレクトリのキャッシュ」についての説明です。 対象のプロジェクト javascriptでの静的ページなプロジェクトを想定して説明します。 reactやvueでのSPAなイメージです。 steps: - name: node

                        CloudBuildで特定のディレクトリをcacheして高速化する - Qiita
                      • 【GCP】CloudBuild 設定 - Qiita

                        最近、cloudbuild での設定で使ったtips をメモします。 背景としては、自分でとあるオープンソースをCloudCuild で docker build するのに30分近くかかってしまいました。そのとき timeout の設定 ビルドに使用するコアをパワーアップさせる ということができるこを知ったのでメモしておきます。 Timeout 注意するのは、各ステップと全体の2か所でtimeout の設定があるということ。こちらにある解説 が分かり易い。感謝。 build: steps: - id: main name: my-builder-image entrypoint: bash timeout: 600s args: - /workspace/build.sh - ${BRANCH_NAME} - ${COMMIT_SHA} - ${SHORT_SHA} timeout: 60

                          【GCP】CloudBuild 設定 - Qiita
                        • CloudBuildを使ってプライベートエンドポイントのみのGKEへデプロイ | フューチャー技術ブログ

                          初めにこんにちは! 筋肉エンジニアの渡邉です。最近はGCP/GKEについて勉強しています。 今回はGitHubへのPushをトリガーにCloudBuildを起動し、プライベートエンドポイントのみのGKE(Google Kubernetes Engine)へデプロイする基盤を作りましたので、共有したいと思います。 GCPリソースはTerraformで作成しています。CloudBuildとGitHubの連携は一部画面による紐づけが必要になるので、手動でCloudBuildを作成した後、terraform importでコード管理するようにしました。 デプロイフロー デプロイフローは以下の流れになります。 ローカルでアプリケーションコードの修正 ローカルで修正をCommit、GitHubへPush GitHubへPushされたことをトリガーにCloudBuildが起動 CloudBuildでコン

                            CloudBuildを使ってプライベートエンドポイントのみのGKEへデプロイ | フューチャー技術ブログ
                          • terraform でCloudRun のPR駆動CloudBuildトリガーを作成する - Qiita

                            概要 CloudRun のコンソール”継続的デプロイ”から選択して作成できるGitHub のソースコードトリガーを terraform にてIaCしてみた話 背景 CloudRun は2021年10月頃に Go や Python のような特定の言語において Dockerfile を必要とせずソースコードから直接デプロイができるようになりました。 しかもCloudRun のコンソールからCDトリガーを作成でき、ソースコードからデプロイの設定もできて便利だったので、ついでにこれをIaCして使いまわそうと思ったのがきっかけです 「継続的なデプロイの設定」 ソースコードについて terraform の概要については割愛します。 ディレクトリ構成 ディレクトリ構成は以下のような構成です。 実際には環境ごとに分けていたりするのです便宜上、簡易的に表現しました。 resource "google_clo

                              terraform でCloudRun のPR駆動CloudBuildトリガーを作成する - Qiita
                            • CloudBuildからCloudRunデプロイ時に出た権限エラーと解決策 - Qiita

                              背景 GitHub Actionsを使いCloudBuild経由でCloudRunへ継続的デプロイさせようとした時に、想定外の権限エラーが出てつまづいたので、同じことに遭遇した人の助けになればと思い書きました。 エラー内容 デプロイステップで下記のエラーが出た。(CloudLoggingから抜粋) ERROR: (gcloud.run.deploy) PERMISSION_DENIED: Permission 'iam.serviceaccounts.actAs' denied on service account {CloudRunサービスアカウント名}@{GCPプロジェクト名}.iam.gserviceaccount.com 一見すると、CloudRunのサービスアカウントにiam.serviceaccounts.actAsの権限が足りていないように見えたので、この権限が含まれているサ

                                CloudBuildからCloudRunデプロイ時に出た権限エラーと解決策 - Qiita
                              • Cloud Buildのステップ内でDockerを使うならcloudbuildネットワークを覚えておく - Qiita

                                概要 Cloud Buildで ステップ内でDockerを使い DockerからApplication Default Credentialも使いたい なら --network=cloudbuild を渡そうという話です。 前提 例にはberglas利用します。 berglasは環境変数に特定フォーマットで秘密情報への参照を入れておくと、その値をとってきてくれます。 例えば FOO=sm://$PROJECT_ID/$SECRET_NAME berglas exec -- bar を実行すると、Secret Managerから取ってきた値が環境変数 FOO に入って bar が実行されます。 準備 まずSecret Managerで TEST というシークレットに値を入れておきます。 $ echo -n "supersecret" | gcloud beta secrets create

                                  Cloud Buildのステップ内でDockerを使うならcloudbuildネットワークを覚えておく - Qiita
                                • CloudBuild & GitHub 連携 〜GitHubにpushしたら CloudRun に自動でデプロイする方法 - Qiita

                                  やりたいこと&実行イメージ 今回は、こんな感じのことをやってみました。 参考にしたのはこちらです。 https://cloud.google.com/cloud-build/docs/automating-builds/run-builds-on-github?hl=ja pullリクエスト時: buildを実行 master への marge 時: build & Cloud Run へ deploy を実行 はじめの準備 Cloud Run にUPするソース 連携するための GitHub リポジトリ (今回はpublicのものです。) GCPプロジェクト (課金が有効になっているもの) ※もちろん、無料お試し中でもできます! GCPプロジェクトで Cloud Build、Cloud Run を有効にしておく 設定ファイルやソースの準備 以下、諸々の必要なファイルを作成して、連携対象のG

                                    CloudBuild & GitHub 連携 〜GitHubにpushしたら CloudRun に自動でデプロイする方法 - Qiita
                                  • CloudBuildでCloudKMSのsecretEnvを使おうとして少しハマった - Qiita

                                    前提 CloudBuildでdocker buildをするにあたって、gitにはコミットしたくないがbuild時に--build-argで渡したいAPI KEYがあった そのため、API KEYをCloudKMSに登録し、step内で$$API_KEYで取得して使おうとしていた CloudKMSについては以下を参照 https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-secrets-credentials?hl=ja ハマった点 - name: 'gcr.io/cloud-builders/docker' id: 'build-docker-image' args: ['build', '-t', 'asia.gcr.io/$PROJECT_ID/SERVICE_NAME', '--build-ar

                                      CloudBuildでCloudKMSのsecretEnvを使おうとして少しハマった - Qiita
                                    • DjangoをCloud BuildでApp Engineに自動デプロイするときの、cloudbuild.yamlの例 - Qiita

                                      概要 DjangoプロジェクトをCloud BuildでApp Engineに自動デプロイできるようにする設定。 cloudbuild.yaml設定内容の、日本語の情報がなさそうなので共有します。 方法 標準的なデプロイ方法を実施+以下のcloudbuild.yamlファイルを使用します。 steps: # collectstatic用のdjangoを走らせるための環境を作る - name: 'python:3' entrypoint: python3 args: ['-m', 'venv', '/workspace/venv'] - name: 'python:3' entrypoint: "/workspace/venv/bin/pip" args: ['install', '-r', 'requirements.txt'] # 作ったvenvを使ってcollectstatic(テスト

                                        DjangoをCloud BuildでApp Engineに自動デプロイするときの、cloudbuild.yamlの例 - Qiita
                                      • Cloudbuild から GCR へ 複数の tag をつけて pushする方法

                                        基本 latest か 個別の 認識タグで GCR の運用するときに、build した image に複数のタグつけて 最初の一回 で一緒に push したい願望! SDK で add-tag あるけど一度でしたいw Cloudbuild.yaml steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/scala-sbt:$SHORT_SHA', '-t', 'gcr.io/$PROJECT_ID/scala-sbt:latest', '--cache-from', 'gcr.io/$PROJECT_ID/scala-sbt:latest', '-f', 'Dockerfile', '.' ] env: 'SHORT_SHA=$SHORT_SHA' - name: '

                                          Cloudbuild から GCR へ 複数の tag をつけて pushする方法
                                        • CloudBuildで設定した環境変数をDockerに渡す - Qiita

                                          最近会社でGCPを使っている@kshibata101です。 GCPのCI/CDサービスであるCloud Buildで環境変数を設定しDockerを動かすときにちょっと詰まったので、方法を備忘録的に残そうと思います。 Cloud Build GCPでCI/CDを可能にしてくれるサービスです。 まだ出て間もないサービスで、2019年1月現在ではトリガーの機能がベータ版のようです。 基本的にはcloudbuild.yamlというファイルを用意し、そこにコマンドを書いていくことでCI/CDを実現します。 cloudbuild.yamlを用意せずとも、Dockerfileを与えればそれを勝手にビルドしてくれる設定も可能ですが、ここではyamlで設定する方法を記載します。 変数を渡すフロー 上でも触れた通り、CloudBuildではビルドの対象として Dockerfileをそのまま指定する cloud

                                            CloudBuildで設定した環境変数をDockerに渡す - Qiita
                                          • [GCP]CloudBuild + CloudKMS + GitHubでタグプッシュデプロイを実現する - Qiita

                                            やりたいこと GoogleCloudBuildを利用 ソースコードはGitHubで管理 GitHubのリポジトリにタグPush→GoogleAppEngineにデプロイ CloudBuild⇆GitHubのSSH鍵はGoogleKeyManagementServiceを利用 前提 GCP(Google Cloud Platform)のアカウントを所持している GCPにプロジェクトを作成できる GitHubのアカウントを所持している サンプルで利用する言語はGo言語 投稿者の環境はMacOS(intel, Catalina) サンプルのディレクトリ構成 . ├── .github_cloudbuild.enc ├── .known_hosts ├── submodule # submodule | └── submodule_dummy.txt ├── app.yaml ├── cloudb

                                              [GCP]CloudBuild + CloudKMS + GitHubでタグプッシュデプロイを実現する - Qiita
                                            • CloudBuildでSecret Managerの機密データを取得して変数として使用する

                                              先日GCPのCloudBuild + KMSで機密ファイルを暗号化して管理するという記事を書きました。 今回はKMSの代わりにSecret Manager(シークレット・マネージャー)というGCPサービスで機密データを管理し、Google CloudBuildの中でデータを使用する方法をまとめておきます。 KMSとSecret Managerの使い分け(個人的意見) トークンやパスワードなどの単純な文字列の管理であれば、KMSよりもSecret Managerを使った方が暗号化の手間がなく、バージョン管理もできて安全かつ楽だと思います。 一方で何らかの機密データを含むファイルをローカルで暗号化したうえで、CloudBuildの中で復元したいような場合にはKMSを使うと良いと思います。 Secret ManagerのAPIを有効にする プロジェクトではじめてSecret Managerを使う

                                                CloudBuildでSecret Managerの機密データを取得して変数として使用する
                                              • CloudBuildに初めから存在するDockerImage一覧 - Qiita

                                                CREATED SIZE Step #1: gcr.io/cloud-builders/gsutil latest cc72a515ee87 6 days ago 1.76GB Step #1: gcr.io/cloud-builders/kubectl latest 353519e9a9fc 6 days ago 3.01GB Step #1: gcr.io/cloud-builders/git latest 5e24fa43718c 6 days ago 4.18GB Step #1: gcr.io/cloud-builders/gke-deploy latest 53f7b04f9a4e 6 days ago 3.77GB Step #1: gcr.io/cloud-builders/gcloud latest 0749f4794158 6 days ago 4.18GB Step

                                                  CloudBuildに初めから存在するDockerImage一覧 - Qiita
                                                • CloudBuildで設定されている環境変数 - Qiita

                                                  bash-4.2# env HOSTNAME=xxxxx PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/proc/1 SHLVL=1 HOME=/builder/home BUILDER_OUTPUT=/builder/outputs _=/usr/bin/env OLDPWD=/proc

                                                    CloudBuildで設定されている環境変数 - Qiita
                                                  • build-arg cloudbuild "cache-from" - Google 検索

                                                    2023/12/10 · ビルド構成ファイルに --cache-from 引数を追加すると、キャッシュされたイメージを指定できます。これにより、Docker はこのイメージをキャッシュ ソース ...

                                                    • [AWS]CloudBuildのビルドコンテナからEC2にアクセスしたい - Qiita

                                                      自分メモ用。 概要 CloudBuildのビルドコンテナからEC2にアクセスする方法。 前提として、EC2にはIP制限&SSHキーで接続する。 手順 CloudBuildのビルドコンテナをVPC内で立ち上げる SSMパラメータストアにSSHキー登録する ビルド時にSSHキーを読み込んで接続 1. CloudBuildのビルドコンテナをVPC内で立ち上げる 基本的に上の手順の通り。 CodeBuildのロールにVPCのポリシーをアタッチする必要がある。 2. SSMパラメータストアにSSHキー登録する SSM(Systems Manager)パラメータストアにSSHキー登録。 id_rsa.pub(公開鍵)、id_rsa(秘密鍵)の二つをKMSを利用して登録する。 IAMでCodeBuildのロールにAmazonSSMReadOnlyAccessのポリシーをアタッチする必要あり。 3. ビル

                                                        [AWS]CloudBuildのビルドコンテナからEC2にアクセスしたい - Qiita
                                                      • CloudBuildのキャッシュに便利なgcs-cachingというDockerイメージを作った - Runner in the High

                                                        github.com CloudBuildではこんな感じで使える。 steps: # キャッシュの保存 - name: izumisy/gcs-caching:latest args: ["store", "./caching-directory", "gs://your-own-build-cache", "./cachekey-file"] # キャッシュの取り出し - name: izumisy/gcs-caching:latest args: ["restore", ".", "gs://default-build-cache", "./cachekey-file"] 公式のドキュメントだと「キャッシュの読み書きには gcr.io/cloud-builders/gsutil を使え」みたく書いてあるが、リアルなユースケースではディレクトリを固めてキャッシュキーを計算して、みたいな処

                                                          CloudBuildのキャッシュに便利なgcs-cachingというDockerイメージを作った - Runner in the High
                                                        • CloudBuildのglobalで使用されるリージョンはどこか? - Qiita

                                                          steps: - name: gcr.io/cloud-builders/curl args: [ "-sS", "-H", "Metadata-Flavor: Google", "http://metadata.google.internal/computeMetadata/v1/instance/zone", ]

                                                            CloudBuildのglobalで使用されるリージョンはどこか? - Qiita
                                                          1