tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Salesforce DXのアプリ開発を少し試してみました

Salesforce DXのアプリ開発を試してみました。開発者ガイドが用意されているのでこちらを参照。


CLIの環境構築とエディタについてはこちら。



デスクトップにappフォルダを作成してここで試します。
f:id:tyoshikawa1106:20180103180800p:plain

Salesforce DX プロジェクトの作成

myworkは任意のプロジェクト名です。

$ sfdx force:project:create --projectname mywork

ディレクトリの指定をする場合はこちら。

sfdx force:project:create --projectname mywork --defaultpackagedir myapp

f:id:tyoshikawa1106:20180103222803p:plain


これでappフォルダ内にmyworkプロジェクトが作成されました。VS Codeにドラッグ&ドロップするとエディタで表示できます。
f:id:tyoshikawa1106:20180103223200p:plain


configフォルダにSalesforce DXの環境ファイルが用意されています。DevHub組織未ログインでも作成されました。(※事前にやった過去ログインの設定情報削除されていれば...)
f:id:tyoshikawa1106:20180103223349p:plain


README.mdファイルも雛形が作成されています。
f:id:tyoshikawa1106:20180103223439p:plain


forceignoreというファイルも作成されました。gitignoreと同じ効果だと思います。
f:id:tyoshikawa1106:20180103223518p:plain


sfdx-project.jsonも設定ファイルです。API名とか指定できるようでした。
f:id:tyoshikawa1106:20180103223601p:plain

開発環境にログイン

$ sfdx force:org:open -u <登録したい組織の別名>

下記コマンドで登録されていることを確認できます。

$ sfdx force:org:list

ユーザ名の登録

ローカル環境でのみ利用できる開発者ユーザ名を登録します。

$ sfdx force:config:set defaultusername=<ユーザ名>

実行すると.sfdxフォルダにsfdx-config.jsonが生成されます。
f:id:tyoshikawa1106:20180103230003p:plain

package.xmlの準備

README.mdファイルと同じ階層に用意します。

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
	<types>
		<members>*</members>
		<name>ApexClass</name>
	</types>
	<types>
		<members>*</members>
		<name>ApexComponent</name>
	</types>
	<types>
		<members>*</members>
		<name>ApexPage</name>
	</types>
	<types>
		<members>*</members>
		<name>ApexTrigger</name>
	</types>
	<types>
		<members>*</members>
		<name>StaticResource</name>
	</types>
	<version>41.0</version>
</Package>

ソースコードのダウンロード

下記のコマンドでソースコードをダウンロードします。

$ sfdx force:mdapi:retrieve -r ./mdapipkg -u <ユーザ名またはエイリアス> -k ./package.xml


mdapipkgフォルダにZipファイルがダウンロードされます。それを解答するとソースコード一式を確認できます。
f:id:tyoshikawa1106:20180103234220p:plain


このあと下記コマンドでDX用に変換します。

$ sfdx force:mdapi:convert --rootdir ./mdapipkg/unpackaged


これでmainフォルダ内にソースコードをダウンロードできました。
f:id:tyoshikawa1106:20180103234422p:plain



ここまではうまく行きましたがソースコードのデプロイや最新版の取得はやはりDXの機能でDevHubとスクラッチ組織で実行が必要になります。DE組織での開発はJSforceコマンドをつかった方が良さそうです。


・・・MavensMateになれているのでコマンドで開発していける気がしなくなってきました。