Salesforce
Apex

いにしえの Force.com ソースコードをデプロイする

この記事は、Salesforce Platform Advent Calendar 2017 18日目の投稿になります。

はじめに

昔作った Force.com のソースコードを新しい Developer 環境にデプロイしたいと思います。
pacakage.xml の Version タグによると、バージョンは「16.0」です。
現在「38.0」ですので、なかなか古いと言えるのではないでしょうか。

準備

Eclipse

Eclipse 4.5 に Force.com プラグインをインストールします。
まさかのここからスタートですが、気を確かにいきましょう。

2017-11-29_09h01_07.png

ソースコード

SVN に保管してあったソースコードをローカルに展開します。
package.xml の Version を 38.0 に修正します。(これはしなくてもよいかも)

デプロイ開始

1回目のデプロイ

サーバへのデプロイは、「Deploy to Server」というメニューから行います。
まずなにも考えずにプロジェクトのルート上で右クリックして、「Deploy to Server」を実行。
画面に沿って進めます。
2017-12-18_17h25_07.png

「Destination archive」のチェックは外しました。
2017-12-18_08h53_57.png

2017-12-18_08h54_19.png

2017-12-18_08h55_05.png

「次へ」を押下するとエラー
2017-12-18_09h04_10.png

package.xml のエラーが出てしまいました。ファイルの文字コードがおかしいようです。
ざっとファイルの文字コードを確認してみますが、UTF-8になっているように見えます。
Salesforce のサイトを見ると、解決策がでていたので、それで対応します。
Force.com IDEのデプロイ時にエラー発生

2回目のデプロイ

1回目と同じ手順を踏んで、デプロイを進めます。
デプロイ失敗しますが、エラー内容は変わっています。(画像取得洩れ)
エラー内容を見て、一度にすべてのデプロイは難しいと判断して、少しずつデプロイすることにしました。

n回目のデプロイ

まず カスタムオブジェクト をデプロイします。
デプロイ成功です!ものすごくうれしい。
2017-12-18_16h17_23.png

Visualforce Page や Apex Class は依存しあっていることが多いので、小分けにして少しずつデプロイしていきます。
ここからは、デプロイ失敗時のログをみながら進めていきます。


試行錯誤の結果、
カスタムオブジェクト → 静的リソース → Apex Class, Trigger, tab → テストクラス → レポート, ダッシュボード → アプリケーション
という順番でデプロイしていくのがよさそうです。

以下はデプロイが成功したクラスです。
2017-12-18_18h07_53.png

API バージョンが低いので、最終的にはここもバージョンアップしますが、今回はここまで。
デプロイの試行錯誤に時間がかかりすぎました。
時間を見つけてこの記事は成長させていけたらなと思います。