JetBrainsのツールを
使ったGoogle Cloud
Platformでの開発

今すぐ開始

IntelliJ IDEA

開発

IntelliJ IDEA Ultimate は任意の言語での開発、または 1 つのプロジェクトに複数言語が混在する状態でも開発を楽にします。

TeamCity

構築、テスト、デプロイ

TeamCityを使えば、強力な継続的インテグレーションと継続的デプロイをすぐに実行できます。

別の言語で開発していますか?

DevOps のベストプラクティスを実装

JetBrains が後援する Google Cloud の「2022 Accelerate State of DevOps Report」で、適切なソフトウェアのデリバリーと稼働パフォーマンスを実現する方法をご覧ください。 レポートの調査結果を DevOps のパフォーマンスの改善とイノベーションの高速化にご活用ください。 Watch the report highlights with JetBrains and Google Cloud experts.

レポートをダウンロード

開発・本番の一致を実現

あなたのアプリケーションがVMまたはコンテナのどちらにデプロイされていても、これらの環境での開発を支援するツールを用意しています。 JetBrainsの各種IDE製品はあなたの開発環境にコードを取得し、その場で実行中のコードをデバッグできるようにします。

仮想マシンの場合

JetBrainsのどのIDE製品でもSCPを使ってコードやアーティファクトをデプロイし、SSHターミナルを開くことができます。 このため、Google Compute Engineのインスタンスに簡単に接続できます。 要塞ホストの複雑なSSH設定に対応し、SSH設定ファイルを使用して設定を行うことができます(Windowsでも可能です)。

Vagrantを使ってローカル環境にあるVMの処理を自動化できます。 VagrantはJetBrainsの全IDE製品でサポートされており、Vagrantで設定したVMにさらなる設定を行うことなくIDEから接続できます。

コンテナの場合

JetBrainsのどのIDE製品でも、DockerコンテナとDocker Composeプロジェクトの両方をビルドして実行できます。 Docker対応により、DockerfilesとCompoese YAMLファイルを簡単に編集できます。

Google Kubernetes Engineを使っていますか? Kubernetesは開発を非常に楽にしますが、設定には複雑なYAMLファイルが必要です。 JetBrainsのKubernetesプラグインはスニペットを生成し、設定内を移動できるようにし、有効な設定記述を支援するインスペクションを提供することで、設定を支援します。

リモートインタプリタ

Python、Node.js、PHP、Rubyでコードを開発する場合は、JetBrains IDEのリモートインタプリタ機能を使用できます。 VMとDockerコンテナのどちらに接続する場合でも、リモートインタプリタを設定してあなたのリモートマシンをプロジェクトの実行環境として使用できます。 この設定を行った後はすべての実行構成がリモートマシンで実行されるようになりますが、使い心地はローカル環境から実行していた場合と変わりありません。

リモートインタプリタを設定する際にはIDEがリモートマシンの環境をスキャンし、正確なコード補完を行えるようにします。 開発作業をより合理化するため、ユニットテストはリモートで実行されます。

リモートインタプリタが設定されている場合はPythonコンソール、IRB、Railsコンソールがリモートマシンで起動するため、実行予定の環境と同じ環境でコードを試作することができます。

リモートデバッグ

ほとんどの実行構成では追加設定なしでデバッグを行うことができます。 より複雑な構成については、IDEからコードを起動できない場合があります。 例えば、VMのイメージを生成するツールチェーンをテストする場合です。 このような場合、JetBrains IDE製品のリモートデバッグ機能を使用して実行中のコードに接続できます。

次の言語の開発は、これらの言語専用のIDEと対応する言語プラグインを組み込んだIntelliJ IDEA Ultimateの両方で行うことができます。 JetBrainsの各種IDE製品の商用バージョンはすべてJavaScriptに対応しています。

詳細情報

Java

Javaの設定を変更し、コマンドラインオプションか環境変数を使ってデバッグを有効化して起動するようにします。 その後、 IntelliJ IDEA のデバッガーを接続します。

Python

pydevd eggを使用中のサーバーにコピーし、実行構成から2つの行をコピーします。 その後はPyCharmでデバッグサーバーを起動し、スクリプトの接続を待ってください。

Node.js

Node.jsアプリを `--inspect` フラグ付きで起動し、WebStormのデバッガをアタッチしてください。

GDB

gdbserverを使ってアプリケーションを起動し、CLionを使って接続してください。

Go

delveを使ってアプリケーションを起動し、GoLandを使って接続してください。

PHP

ローカル環境と同じようにXdebugを設定してください。 PhpStormを実行中のマシンにウェブサーバーを接続できるようにする必要があります。 SSHトンネルを考慮してください

Ruby

rdebugを使ってアプリケーションを起動し、RubyMineを使って接続してください。

データの統合

データベースを使用しないアプリケーションを作るのは難しいため、JetBrainsはSQL用のIDEであるDataGripを提供しています。 同製品は単独の製品であるだけでなく、そのデータベース機能が当社のほとんどのIDE製品*にも組み込まれています。

*WebStormを除くすべての有料IDE製品

リモート環境での開発を楽にするため、DataGripは初期状態でSSHトンネルに対応しています。 Google Cloud SQLのデータベースに接続するには、Google Cloud Proxyを使ってください。

JetBrains DataGrip

SQLは強力な言語ですから、強力なツールを使いませんか? JetBrains DataGripはSQLに対応した強力なコードインサイトと補完機能を提供します。 DataGripを使えばこれまで以上に簡単にデータベースに接続し、データを調査できます。

DataGripは単一のRDBMSに特化せず、すべての主要データベースサーバー(PostgreSQL、MySQL、Microsoft SQL Server、Oracle Databaseその他)に接続できます。

IDEのデータベース機能

開発中にデータを確認できます。DataGripをJetBrains IDEに組み込むことで、あなたのデータに関する洞察だけでなく、実際にあなたのデータを認識する業界最先端のSQL補完機能を手に入れられます。 データベース機能を組み込んだ各種JetBrainsのIDE製品では、コード内でクエリを記述するたびにスキーマを認識するSQL補完機能を利用できます。

Google App Engine向けの開発

GoogleのCloud Tools for IntelliJプラグインにより、JavaでApp Engineプロジェクトを開発するのがはるかに楽になりました。 App Engine スタンダード環境またはApp Engine フレキシブル環境向けに開発している場合は、IDEと高度に統合することができます。

このプラグインを使えば、新しいApp Engineプロジェクトの作成や既存のApp Engineプロジェクトの設定を素早く行えます。 開発中にはワンクリックでローカル環境での実行とデバッグを行い、迅速な開発サイクルを維持することができます。 アプリケーションの次のバージョンが完成したあとは、IDE内からコードをApp Engineにデプロイできます。

インフラストラクチャのコード化

コードを使ってインフラストラクチャを構成できるようになった今、世界有数のIDEを使ってインフラストラクチャをコード化しませんか? HashiCorp Configuration Language(HCL)プラグインを使うと、Ctrl-Clickでインフラストラクチャコードの定義への移動などのJetBrains IDEの機能を使用できます。

このプラグインによって基本的な構文に対応できるほか、HashiCorp TerraFormとの統合がさらに深化します。 TerraFormメソッドのコード補完が提供され、さまざまなインスペクションによってインフラストラクチャ構成の有効性を確認できるようになります。

構成管理

Chef、Puppet、Ansibleのいずれかを使用している方に適したプラグインがあります。 JetBrains Puppetプラグインは、IDEに高品質なコード補完、リファクタリング、インスペクションを提供します。 ChefのクックブックAnsibleのプレイブックのコード補完に対応したプラグインも入手できます。

アプリケーションのデプロイ

ほとんどのチームは何らかの継続的インテグレーションや継続的デプロイ(CI/CD)を利用しています。 JetBrains TeamCityは最近の複雑な環境に対応したCI/CDサーバーです。

コンテナへの対応

当然ながら、TeamCityではリポジトリ内のDockerfileに応じてDockerイメージをビルド・プッシュできます。 また、TeamCityはDockerコンテナ内のビルドステップをラップできます。 例えば、Gradleのビルドステップをビルドエージェント上で直接実行せず、Gradleが実行される一時的なDockerコンテナを作成するようにTeamCityを設定することができます。

クラウドネイティブ

JetBrains TeamCityはクラウド内でコードを簡単にビルドできるようにします。 完全なクラウド環境でも、オンプレミスのマシンとクラウドに配備したマシンが混在するハイブリッド環境でも、TeamCityはあなたに代わって複雑さに対処します。

ビルドキューが望んでいたよりも長くなることがありませんか? TeamCityクラウドエージェントGoogle Compute Engine上でのビルド実行を容易にします。 Kubernetesプラグインを使用すれば、TeamCityにビルド用のコンテナをGoogle Kubernetes Engineに動的に作らせることができます。

TeamCity Cloud Agentsは現在のニーズに合わせてビルドエージェントを動的に追加および削除できます。 コンピューティングプロバイダを組み合わせてマッチさせることができます。TeamCityはAWS、Google Cloud Platform、Azureのほか、vSphereを使用してオンプレミスでビルドエージェントを動的に追加できます。 サードパーティ製のプラグインを使用すると、エージェントをOpenStackプライベートクラウドに動的に作成できます。

ビルドとデプロイ

TeamCityを使えば、強力な継続的インテグレーションと継続的デプロイをすぐに実行できます。

お客様の声

「私たちはTeamCityをGoogle Cloud Platform上で完全に動作させるために全力を尽くしてきました。 1~2年くらい前には、社内にあったTeamCityのビルドファーム(Xenベース)をGCPのCompute Engineで完全に動作する同等のTeamCityのビルドファームに完全に移行することができました。 もう後戻りすることはありません。」

Steve Spencer、CTO、Visokio Ltd

問題解析の高速化

今日のクラウド環境は複雑であるため、特定の問題をローカル環境で再現することが困難な場合があります。 このため、ログから取得できるスタックトレースを解析できる機能を追加しました*。 スタックトレースを単純にコピーしてIDEに貼り付けるだけで、JetBrains IDEの力を使って素早くアプリケーションの関連部分に移動できます。

マルチスレッドJavaアプリケーションを開発している場合は、IntelliJ IDEAのスレッドダンプ解析ツールを必ずチェックしてください。

*Java、Python、PHP、.NET、Ruby、Node.jsのみで使用できます。

Google Stackdriverを使ったデバッグ

GoogleのCloud Tools for IntelliJプラグインを使うと、さらに一歩前進することができます。 Google Stackdriverデバッガにアタッチする際、Google App EngineかGoogle Compute Engineのいずれかで動作するJavaアプリケーションかKotlinアプリケーションから完全なスタックトレース(ローカル変数値を含む)を取得できます。 IDEでブレークポイントを設定するだけで、運用中のアプリケーションからスナップショットを取得できます。 もちろん、ブレークポイントが実際にアプリケーションを停止(または遅延)させることはありません。

コードの追跡

コードを安全に保護する目的でGoogle Cloud Source Repositoriesを使用している場合は、GoogleのCloud Tools for IntelliJプラグインを入手すればIDEのVCS統合を使って素早く簡単に統合できます。 設定完了後、GitHubにコードをプッシュするときと同じように自由にコードをGoogle Cloudプロジェクトにプッシュできます。

今すぐ開始

IntelliJ IDEA

開発

IntelliJ IDEA Ultimate は任意の言語での開発、または 1 つのプロジェクトに複数言語が混在する状態でも開発を楽にします。

TeamCity

構築、テスト、デプロイ

TeamCityを使えば、強力な継続的インテグレーションと継続的デプロイをすぐに実行できます。

別の言語で開発していますか?