<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CircleCI &#8211; AI開発実践ラボ</title>
	<atom:link href="https://creativecontentlabtokyo.com/tag/circleci/feed/" rel="self" type="application/rss+xml" />
	<link>https://creativecontentlabtokyo.com</link>
	<description>AIで、作る力を手に入れる。</description>
	<lastBuildDate>Sat, 04 Apr 2026 21:09:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>CircleCIを使った継続的インテグレーション（Continuous Integration）第3回</title>
		<link>https://creativecontentlabtokyo.com/salesforce-continuous-integration-circleci-3/</link>
		
		<dc:creator><![CDATA[セールスフォース標準化推進ラボ]]></dc:creator>
		<pubDate>Sat, 14 May 2022 16:03:37 +0000</pubDate>
				<category><![CDATA[運用]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[CircleCI]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[継続的インテグレーション]]></category>
		<category><![CDATA[自動ビルド]]></category>
		<guid isPermaLink="false">https://creativecontentlabtokyo.com/?p=3386</guid>

					<description><![CDATA[第二回では、JWTベースフローを使用した組織の認証で、非公開鍵と自己署名デジタル証明書の作成からサーバーキーの暗号化までの手順をご説明しました。 第三回の今回は…]]></description>
										<content:encoded><![CDATA[<p>第二回では、JWTベースフローを使用した組織の認証で、非公開鍵と自己署名デジタル証明書の作成からサーバーキーの暗号化までの手順をご説明しました。</p>
<p>第三回の今回は、CircleCI を DevHub に接続から最後のCircleci での自動ビルドまでの設定して、動かしてみましょう。</p>
<p>前回の記事はこちら</p>
<div class="cclt-compat-card st-no-shadow cclt-compat-card--text"><span class="cclt-compat-card__label" style="background-color:#cccccc;color:#ffffff;">参考</span><a href="https://creativecontentlabtokyo.com/salesforce-continuous-integration-circleci-2/" class="cclt-compat-card__link"><div class="cclt-compat-card__thumb"><img decoding="async" width="300" height="130" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-300x130.jpg" class="attachment-medium size-medium wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-300x130.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-1024x444.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-768x333.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-1536x666.jpg 1536w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1.jpg 1920w" sizes="auto, (max-width: 300px) 100vw, 300px" /></div><div class="cclt-compat-card__body"><div class="cclt-compat-card__title">CircleCIを使った継続的インテグレーション（Continuous Integration）第2回</div><div class="cclt-compat-card__excerpt">第一回では、GuthubのセットアップからCircleCIのセットアップ、そして…</div><span class="cclt-compat-card__readmore">続きを読む</span></div></a></div>
<h2>CircleCI を DevHub に接続</h2>
<p>CircleCI を認証して接続アプリケーション経由でコンテンツを Dev Hub に転送できるようにします。</p>
<p>手順①コマンドプロンプトを起動し、<span class="ph filepath">server.key</span> ファイルがあるフォルダから JWT ベース認証を実行できることを確認します。</p>
<p>以下のコマンドを実行</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;sfdx auth:jwt:grant &#8211;clientid &lt;your_consumer_key&gt; &#8211;jwtkeyfile server.key &#8211;username &lt;your_username&gt; &#8211;setdefaultdevhubusername&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>【実行例】</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;sfdx auth:jwt:grant &#8211;clientid 3MVG95mg0lk4batiP7Q5f8gZVROjIpEdZT&#8230; &#8211;jwtkeyfile server.key &#8211;username cclt.sfdc@mail.com &#8211;setdefaultdevhubusername&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>以下のようなメッセージが表示されれば認証成功です。</p>
<p>Successfully authorized&lt;ユーザ名&gt; with org ID 00D5h000004bs&#8230;</p>
<h3>ローカルにsfdx-circleci リポジトリをフォーク</h3>
<p>手順①ブラウザで以下のURLへアクセスしsfdx-circleci のリポジトリを表示します。</p>
<div class="cclt-compat-cmemo" style="background-color:#fafafa;color:#757575;border:px solid ;"><span class="cclt-compat-cmemo__icon fa fa-file-text-o" style="color:#BDBDBD;"></span><div class="cclt-compat-cmemo__text">GitHub（<a href="https://github.com/forcedotcom/sfdx-circleci" rel="noopener">sfdx-circleci</a>)</div></div>
<p>手順②GitHubを開いたら画面右上の【Fork（フォーク）】リンクをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1.jpg"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-3361" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1.jpg" alt="" width="1920" height="832" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-300x130.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-1024x444.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-768x333.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-1536x666.jpg 1536w" sizes="(max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順③GitHubのログイン画面が表示される場合は、IDとパスワードを入力してログインします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-38-CircleCI-fork-GitHub-login.jpg"><img decoding="async" class="alignnone size-full wp-image-3362" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-38-CircleCI-fork-GitHub-login.jpg" alt="" width="1834" height="1302" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-38-CircleCI-fork-GitHub-login.jpg 1834w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-38-CircleCI-fork-GitHub-login-300x213.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-38-CircleCI-fork-GitHub-login-1024x727.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-38-CircleCI-fork-GitHub-login-768x545.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-38-CircleCI-fork-GitHub-login-1536x1090.jpg 1536w" sizes="(max-width: 1834px) 100vw, 1834px" /></a></p>
<p>手順④Create forkを実行して、sfdx-circleciリポジトリをコピーします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-39-CircleCI-fork-Create.jpg"><img decoding="async" class="alignnone size-full wp-image-3363" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-39-CircleCI-fork-Create.jpg" alt="" width="1920" height="984" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-39-CircleCI-fork-Create.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-39-CircleCI-fork-Create-300x154.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-39-CircleCI-fork-Create-1024x525.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-39-CircleCI-fork-Create-768x394.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-39-CircleCI-fork-Create-1536x787.jpg 1536w" sizes="(max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑤フォークが完了すると自分のGitHubに以下の内容が表示されます。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-40-CircleCI-fork-Create-after.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3364" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-40-CircleCI-fork-Create-after.jpg" alt="" width="1920" height="940" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-40-CircleCI-fork-Create-after.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-40-CircleCI-fork-Create-after-300x147.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-40-CircleCI-fork-Create-after-1024x501.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-40-CircleCI-fork-Create-after-768x376.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-40-CircleCI-fork-Create-after-1536x752.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑥次にCircleCIにログインして、プロジェクトメニューを表示します。</p>
<p>すると先ほどフォークしたsfdx-circleciのリポジトリが表示されているので、リポジトリ名のリンクをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-41-CircleCI-Project-sfdx-circleci.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3365" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-41-CircleCI-Project-sfdx-circleci.jpg" alt="" width="1920" height="1192" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-41-CircleCI-Project-sfdx-circleci.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-41-CircleCI-Project-sfdx-circleci-300x186.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-41-CircleCI-Project-sfdx-circleci-1024x636.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-41-CircleCI-Project-sfdx-circleci-768x477.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-41-CircleCI-Project-sfdx-circleci-1536x954.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑦config.ymlファイル選択画面が表示されます。sfdx-circleciに用意されているconfig.ymlをそのまま利用してSet up Projectを実行します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-43-CircleCI-Project-sfdx-circleci-serup-master.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3367" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-43-CircleCI-Project-sfdx-circleci-serup-master.jpg" alt="" width="1793" height="1173" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-43-CircleCI-Project-sfdx-circleci-serup-master.jpg 1793w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-43-CircleCI-Project-sfdx-circleci-serup-master-300x196.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-43-CircleCI-Project-sfdx-circleci-serup-master-1024x670.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-43-CircleCI-Project-sfdx-circleci-serup-master-768x502.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-43-CircleCI-Project-sfdx-circleci-serup-master-1536x1005.jpg 1536w" sizes="auto, (max-width: 1793px) 100vw, 1793px" /></a></p>
<p>手順⑧新規プロジェクトが作成されPipelineが実行されます。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-44-CircleCI-Project-sfdx-circleci-first-running.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3368" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-44-CircleCI-Project-sfdx-circleci-first-running.jpg" alt="" width="1920" height="598" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-44-CircleCI-Project-sfdx-circleci-first-running.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-44-CircleCI-Project-sfdx-circleci-first-running-300x93.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-44-CircleCI-Project-sfdx-circleci-first-running-1024x319.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-44-CircleCI-Project-sfdx-circleci-first-running-768x239.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-44-CircleCI-Project-sfdx-circleci-first-running-1536x478.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑨初回（環境設定を行っていない状態）では、実行結果がFailedとなります。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-45-CircleCI-Project-sfdx-circleci-first-running-failed.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3369" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-45-CircleCI-Project-sfdx-circleci-first-running-failed.jpg" alt="" width="1920" height="576" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-45-CircleCI-Project-sfdx-circleci-first-running-failed.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-45-CircleCI-Project-sfdx-circleci-first-running-failed-300x90.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-45-CircleCI-Project-sfdx-circleci-first-running-failed-1024x307.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-45-CircleCI-Project-sfdx-circleci-first-running-failed-768x230.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-45-CircleCI-Project-sfdx-circleci-first-running-failed-1536x461.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>ビルドにエラーの原因が表示されます。<span style="color: #ff0000;">※環境設定などを実施しない限り必ずエラーとなります。</span></p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-51-CircleCI-Project-sfdx-circleci-ビルド結果（失敗）.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3375" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-51-CircleCI-Project-sfdx-circleci-ビルド結果（失敗）.jpg" alt="" width="1920" height="1345" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-51-CircleCI-Project-sfdx-circleci-ビルド結果（失敗）.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-51-CircleCI-Project-sfdx-circleci-ビルド結果（失敗）-300x210.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-51-CircleCI-Project-sfdx-circleci-ビルド結果（失敗）-1024x717.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-51-CircleCI-Project-sfdx-circleci-ビルド結果（失敗）-768x538.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-51-CircleCI-Project-sfdx-circleci-ビルド結果（失敗）-1536x1076.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑩続いて環境設定を行います。実行結果の右側に表示されている・・・ボタンをクリックして、プロジェクト設定（Project Settings）メニューを表示します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-46-CircleCI-Project-sfdx-circleci-プロジェクト設定.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3370" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-46-CircleCI-Project-sfdx-circleci-プロジェクト設定.jpg" alt="" width="1920" height="868" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-46-CircleCI-Project-sfdx-circleci-プロジェクト設定.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-46-CircleCI-Project-sfdx-circleci-プロジェクト設定-300x136.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-46-CircleCI-Project-sfdx-circleci-プロジェクト設定-1024x463.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-46-CircleCI-Project-sfdx-circleci-プロジェクト設定-768x347.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-46-CircleCI-Project-sfdx-circleci-プロジェクト設定-1536x694.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑪プロジェクト設定画面で環境変数の設定（Environment Variables）メニューを実行します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-47-CircleCI-Project-sfdx-circleci-プロジェクト設定-EnvironmentVariables.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3371" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-47-CircleCI-Project-sfdx-circleci-プロジェクト設定-EnvironmentVariables.jpg" alt="" width="1920" height="1152" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-47-CircleCI-Project-sfdx-circleci-プロジェクト設定-EnvironmentVariables.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-47-CircleCI-Project-sfdx-circleci-プロジェクト設定-EnvironmentVariables-300x180.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-47-CircleCI-Project-sfdx-circleci-プロジェクト設定-EnvironmentVariables-1024x614.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-47-CircleCI-Project-sfdx-circleci-プロジェクト設定-EnvironmentVariables-768x461.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-47-CircleCI-Project-sfdx-circleci-プロジェクト設定-EnvironmentVariables-1536x922.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑫以下の環境変数設定画面で、Add Environment Variableをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-48-CircleCI-Project-sfdx-circleci-プロジェクト設定-AddEnvironmentVariables.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3372" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-48-CircleCI-Project-sfdx-circleci-プロジェクト設定-AddEnvironmentVariables.jpg" alt="" width="1714" height="689" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-48-CircleCI-Project-sfdx-circleci-プロジェクト設定-AddEnvironmentVariables.jpg 1714w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-48-CircleCI-Project-sfdx-circleci-プロジェクト設定-AddEnvironmentVariables-300x121.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-48-CircleCI-Project-sfdx-circleci-プロジェクト設定-AddEnvironmentVariables-1024x412.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-48-CircleCI-Project-sfdx-circleci-プロジェクト設定-AddEnvironmentVariables-768x309.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-48-CircleCI-Project-sfdx-circleci-プロジェクト設定-AddEnvironmentVariables-1536x617.jpg 1536w" sizes="auto, (max-width: 1714px) 100vw, 1714px" /></a></p>
<p>手順⑬環境変数の登録画面で、以下4つのパラメータを指定します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-49-CircleCI-Project-sfdx-circleci-プロジェクト設定-Add1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3373" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-49-CircleCI-Project-sfdx-circleci-プロジェクト設定-Add1.jpg" alt="" width="555" height="529" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-49-CircleCI-Project-sfdx-circleci-プロジェクト設定-Add1.jpg 978w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-49-CircleCI-Project-sfdx-circleci-プロジェクト設定-Add1-300x286.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-49-CircleCI-Project-sfdx-circleci-プロジェクト設定-Add1-768x732.jpg 768w" sizes="auto, (max-width: 555px) 100vw, 555px" /></a></p>
<p>【登録する環境変数と値】</p>
<ol>
<li>[HUB_CONSUMER_KEY]：作成したSFDCの接続アプリケーション画面で生成されたコンシューマ鍵を指定します。</li>
<li>[HUB_SFDC_USER]：組織に接続するユーザ名を指定します。</li>
<li>[DECRYPTION_KEY]：server.keyファイルの暗号化の際に生成したkeyを指定します。</li>
<li>[DECRYPTION_IV]：server.keyファイルの暗号化の際に生成したivを指定します。</li>
</ol>
<p><span style="color: #ff0000;">※2番目のパラメータについて、Salesforceの説明サイトでは、HUB_SFDX_USERとなっていますが、sfdx-circleciから取得したconfig.ymlを確認すると正しくは、$HUB_SFDC_UESRとなっているので、間違えないように注意してください</span>。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-50-CircleCI-Project-sfdx-circleci-プロジェクト設定完了.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3374" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-50-CircleCI-Project-sfdx-circleci-プロジェクト設定完了.jpg" alt="" width="1920" height="1105" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-50-CircleCI-Project-sfdx-circleci-プロジェクト設定完了.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-50-CircleCI-Project-sfdx-circleci-プロジェクト設定完了-300x173.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-50-CircleCI-Project-sfdx-circleci-プロジェクト設定完了-1024x589.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-50-CircleCI-Project-sfdx-circleci-プロジェクト設定完了-768x442.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-50-CircleCI-Project-sfdx-circleci-プロジェクト設定完了-1536x884.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑭続いて、server.key.encファイルを更新します。</p>
<p>コマンドプロンプトを起動して以下のコマンドを実行します。sfdx-circleciリポジトリをローカル環境へクローンします。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt; cd C:\Users\e\dev\jdoe\JWT   ※JWTフォルダへ移動（※Git専用のフォルダがあればそちらへ移動してもよいです）&lt;/p&gt;
&lt;p&gt;&gt;git clone https://github.com/&lt;GitHubのユーザ名&gt;/sfdx-circleci.git&lt;br /&gt;
Cloning into &#8216;sfdx-circleci&#8217;&#8230;&lt;br /&gt;
remote: Enumerating objects: 90, done.&lt;br /&gt;
remote: Counting objects: 100% (24/24), done.&lt;br /&gt;
remote: Compressing objects: 100% (21/21), done.&lt;br /&gt;
remote: Total 90 (delta 9), reused 2 (delta 0), pack-reused 66&lt;br /&gt;
Receiving objects: 100% (90/90), 357.09 KiB | 13.73 MiB/s, done.&lt;br /&gt;
Resolving deltas: 100% (28/28), done.&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順⑮ローカルのgitへクローンが作成されたら..\sfdx-circleci\assets\配下にエンコードした[server.key.enc]ファイルをコピーします。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;copy server.key.enc sfdx-circleci\assets\&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順⑯リポジトリを作成したら次はgit addコマンドでファイルをインデックスに追加します。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;cd sfdx-circleci\assets\&lt;/p&gt;
&lt;p&gt;&gt;git add server.key.enc&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順⑰追加されたかステータスを確認</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;git status&lt;/p&gt;
&lt;p&gt;On branch master&lt;br /&gt;
Your branch is up to date with &#8216;origin/master&#8217;.&lt;/p&gt;
&lt;p&gt;Changes to be committed:&lt;br /&gt;
(use &#8220;git restore &#8211;staged &lt;file&gt;&#8230;&#8221; to unstage)&lt;br /&gt;
new file: server.key.enc&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順⑱追加されていることを確認したらコミットします</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;git commit -m &#8220;update server.key.end&#8221; -v&lt;/p&gt;
&lt;p&gt;[master 827e48b] update server.key.end&lt;br /&gt;
1 file changed, 37 insertions(+)&lt;br /&gt;
create mode 100644 assets/server.key.enc&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順⑲最後にgitにプッシュします。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;git push&lt;/p&gt;
&lt;p&gt;info: please complete authentication in your browser&#8230;&lt;br /&gt;
Enumerating objects: 6, done.&lt;br /&gt;
Counting objects: 100% (6/6), done.&lt;br /&gt;
Delta compression using up to 8 threads&lt;br /&gt;
Compressing objects: 100% (4/4), done.&lt;br /&gt;
Writing objects: 100% (4/4), 2.13 KiB | 2.13 MiB/s, done.&lt;br /&gt;
Total 4 (delta 1), reused 0 (delta 0), pack-reused 0&lt;br /&gt;
remote: Resolving deltas: 100% (1/1), completed with 1 local object.&lt;br /&gt;
To https://github.com/creativecontentlabtokyo/sfdx-circleci.git&lt;br /&gt;
94c267b..827e48b master -&gt; master&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>※GitHubへのログイン認証が必要な場合はIDとパスワードを入力します。最後にリポジトリにserver.key.encファイルが登録されていることを確認します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-52-CircleCI-Project-sfdx-circleci-GitHubのserver.key.encを更新.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3377" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-52-CircleCI-Project-sfdx-circleci-GitHubのserver.key.encを更新.jpg" alt="" width="1920" height="844" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-52-CircleCI-Project-sfdx-circleci-GitHubのserver.key.encを更新.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-52-CircleCI-Project-sfdx-circleci-GitHubのserver.key.encを更新-300x132.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-52-CircleCI-Project-sfdx-circleci-GitHubのserver.key.encを更新-1024x450.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-52-CircleCI-Project-sfdx-circleci-GitHubのserver.key.encを更新-768x338.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-52-CircleCI-Project-sfdx-circleci-GitHubのserver.key.encを更新-1536x675.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑳CircleCIの画面に戻り、プロジェクト[sfdx-circleci]のConfigurationを実行します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-57-CircleCI-Project-sfdx-circleci-Configuration.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3381" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-57-CircleCI-Project-sfdx-circleci-Configuration.jpg" alt="" width="1835" height="970" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-57-CircleCI-Project-sfdx-circleci-Configuration.jpg 1835w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-57-CircleCI-Project-sfdx-circleci-Configuration-300x159.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-57-CircleCI-Project-sfdx-circleci-Configuration-1024x541.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-57-CircleCI-Project-sfdx-circleci-Configuration-768x406.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-57-CircleCI-Project-sfdx-circleci-Configuration-1536x812.jpg 1536w" sizes="auto, (max-width: 1835px) 100vw, 1835px" /></a></p>
<p>手順㉑config.ymlについて、以下2点の修正を行いSave＆Runを実行します。</p>
<ol>
<li>&#8211;setdefaultdevhubusername -a <span style="color: #ff0000;">hub</span>　⇒　今回は[<span style="color: #ff0000;">my-hub-org</span>]というエイリアスを使っていたのでこちらに修正します。</li>
<li>force:org:createの　&#8211;waitはデフォルト2ですが、<span style="color: #0000ff;">3</span>にしたほうがよいと記載があったので3に修正します。</li>
</ol>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;sfdx force:auth:jwt:grant &#8211;clientid $HUB_CONSUMER_KEY &#8211;jwtkeyfile assets/server.key &#8211;username $HUB_SFDC_USER &#8211;setdefaultdevhubusername -a &lt;span style=&quot;color: #ff0000;&quot;&gt;my-hub-org&lt;/span&gt;&lt;br /&gt;
sfdx force &#8211;help&lt;br /&gt;
sfdx force:org:create -s -f ~/ci_app/config/project-scratch-def.json -a circle_build_$CIRCLE_BUILD_NUM &#8211;wait &lt;span style=&quot;color: #0000ff;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順㉒CircleCIの画面に戻って、再実行されたWorkflowの結果を確認しましょう</p>
<p>以下のSetup Orgの箇所で、Successfully Authorized ord ID &#8230;.と表示されていれば組織認証までは成功しています。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-54-CircleCI-Project-sfdx-circleci-Build-SetupOrg.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3379" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-54-CircleCI-Project-sfdx-circleci-Build-SetupOrg.jpg" alt="" width="1920" height="1373" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-54-CircleCI-Project-sfdx-circleci-Build-SetupOrg.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-54-CircleCI-Project-sfdx-circleci-Build-SetupOrg-300x215.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-54-CircleCI-Project-sfdx-circleci-Build-SetupOrg-1024x732.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-54-CircleCI-Project-sfdx-circleci-Build-SetupOrg-768x549.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-54-CircleCI-Project-sfdx-circleci-Build-SetupOrg-1536x1098.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順㉓Setup Orgで以下のエラーが発生していたので修正していきます。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;WARNING: Warning: If you&#8217;re using Contacts to Multiple Accounts, beginning with the Spring ’21 release, the feature isn&#8217;t automatically enabled. You must manually enable the setting for new scratch orgs. Enable the setting in one of these ways: update the Account Settings page in Setup, add the enableRelateContactsToMultipleAccounts setting to your scratch org definition file, or enable it via Metadata API.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;ERROR running force:org:create: We&#8217;ve deprecated OrgPreferences. Update the scratch org definition file to replace OrgPreferences with their corresponding settings.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff6600;&quot;&gt;Replace the orgPreferences section:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;orgPreferences&#8221;: {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;enabled&#8221;: [&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;S1DesktopEnabled&#8221;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;With their updated settings:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;settings&#8221;: {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;lightningExperienceSettings&#8221;: {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;enableS1DesktopEnabled&#8221;: true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
For more info on configuring settings in a scratch org definition file see: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs.htm.&#8217;&lt;/p&gt;
&lt;p&gt;Exited with code exit status 1&lt;br /&gt;
CircleCI received exit code 1&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順㉓GitHubの[project-scratch-def.json]ファイルを以下のように修正します。</p>
<p>ファイルパス：sfdx-circleci/config/project-scratch-def.json</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff6600;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;orgName&#8221;: &#8220;Sample Org&#8221;,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;edition&#8221;: &#8220;developer&#8221;,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;settings&#8221;: {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;lightningExperienceSettings&#8221;: {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;&#8220;enableS1DesktopEnabled&#8221;: true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff6600;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順㉔最後にもう一度CircleCIの画面からsfdx-circleciプロジェクトのworkflowを再実行してみます。</p>
<p>Run Apex Tests</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-RunApexTest.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3382" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-RunApexTest.jpg" alt="" width="1920" height="1213" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-RunApexTest.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-RunApexTest-300x190.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-RunApexTest-1024x647.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-RunApexTest-768x485.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-RunApexTest-1536x970.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Setup Org</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-SetupOrg.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3383" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-SetupOrg.jpg" alt="" width="1920" height="1201" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-SetupOrg.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-SetupOrg-300x188.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-SetupOrg-1024x641.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-SetupOrg-768x480.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-58-CircleCI-Project-sfdx-circleci-正常終了-SetupOrg-1536x961.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Uploading test results / Delete Useless Scratch Org</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-59-CircleCI-Project-sfdx-circleci-正常終了-Uploadt.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3384" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-59-CircleCI-Project-sfdx-circleci-正常終了-Uploadt.jpg" alt="" width="1920" height="682" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-59-CircleCI-Project-sfdx-circleci-正常終了-Uploadt.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-59-CircleCI-Project-sfdx-circleci-正常終了-Uploadt-300x107.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-59-CircleCI-Project-sfdx-circleci-正常終了-Uploadt-1024x364.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-59-CircleCI-Project-sfdx-circleci-正常終了-Uploadt-768x273.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-59-CircleCI-Project-sfdx-circleci-正常終了-Uploadt-1536x546.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Parallel runs</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3380" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了.jpg" alt="" width="1920" height="1373" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-300x215.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-1024x732.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-768x549.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-1536x1098.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>全てSign up envirnmentから最後まですべて正常終了しました。</p>
<h2>まとめ<span id="まとめと今後" class="fragment"></span></h2>
<p>今回の記事では、sfdx（CLI） と CircleCI を使って CI環境を作る手順について記しました。</p>
<p>GitHubの使い方やCircleCIなどのCI/DIツールについての基本知識がないと難しく感じる内容だったと思います。これを気に関係するツールや機能について学習することをお勧めします。</p>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">ブログランキングに参加しましたので、ご支援していただけると幸いです。</div></div></div>
<p><a href="https://it.blogmura.com/ranking/in?p_cid=11084904" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" src="https://b.blogmura.com/banner-blogmura-portfolio.svg" alt="にほんブログ村 IT技術ブログへ" width="88" height="31" border="0" /></a><br />
<a href="https://it.blogmura.com/ranking/in?p_cid=11084904" rel="noopener">にほんブログ村</a></p>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3386"
					data-ulike-nonce="ee947f82df"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3386"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+2"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CircleCIを使った継続的インテグレーション（Continuous Integration）第2回</title>
		<link>https://creativecontentlabtokyo.com/salesforce-continuous-integration-circleci-2/</link>
		
		<dc:creator><![CDATA[セールスフォース標準化推進ラボ]]></dc:creator>
		<pubDate>Sat, 07 May 2022 08:10:12 +0000</pubDate>
				<category><![CDATA[運用]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[CircleCI]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[継続的インテグレーション]]></category>
		<category><![CDATA[自動ビルド]]></category>
		<guid isPermaLink="false">https://creativecontentlabtokyo.com/?p=3314</guid>

					<description><![CDATA[第一回では、GuthubのセットアップからCircleCIのセットアップ、そしてGitHubとの連携と、DevHubの有効化までの手順をご説明しました。 第二回…]]></description>
										<content:encoded><![CDATA[<p>第一回では、GuthubのセットアップからCircleCIのセットアップ、そしてGitHubとの連携と、DevHubの有効化までの手順をご説明しました。</p>
<p>第二回の今回は、Salesforceの組織とCircleCI間の認証に関する設定をしていきます。</p>
<p>前回の記事はこちら</p>
<div class="cclt-compat-card st-no-shadow cclt-compat-card--text"><span class="cclt-compat-card__label" style="background-color:#cccccc;color:#ffffff;">参考</span><a href="https://creativecontentlabtokyo.com/salesforce-continuous-integration-circleci-1/" class="cclt-compat-card__link"><div class="cclt-compat-card__thumb"><img decoding="async" width="300" height="171" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-1-300x171.jpg" class="attachment-medium size-medium wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-1-300x171.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-1-1024x585.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-1-768x438.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-1-1536x877.jpg 1536w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-1.jpg 1920w" sizes="auto, (max-width: 300px) 100vw, 300px" /></div><div class="cclt-compat-card__body"><div class="cclt-compat-card__title">CircleCIを使った継続的インテグレーション（Continuous Integration）第1回</div><div class="cclt-compat-card__excerpt">Salesforceの大型プロジェクトやアジャイル開発方式を採用したプロジェクト…</div><span class="cclt-compat-card__readmore">続きを読む</span></div></a></div>
<h2><span class="ph cmd">Dev Hub組織に対してJWTベースフローを使用した組織の認証を実行</span></h2>
<p>Dev Hub組織に対してJWTベースフローを使用した組織の認証を実行します。※CircleCIからSalesforce組織に対する認証の設定</p>
<p>継続的インテグレーション（CI）の環境は自動化されており、OAuth2.0Webサーバ認証フローのユーザインタラクションはサポートされていないため、代替手段としてJWT（Json Web トークン）ベアラーフローを使用して組織を認証する必要があります。</p>
<div class="cclt-compat-cmemo st-text-guide st-text-guide-attention" style="background-color:#ffebee;color:#000000;border:px solid #ffcdd2;"><span class="cclt-compat-cmemo__icon fa fa-file-text-o" style="color:#ef5350;"></span><div class="cclt-compat-cmemo__text">Dev Hub 組織で高保証 (強化) 認証が設定されている場合は、ユーザに ID の検証プロセスがあるため、JWT ベアラーフローや Salesforce CLI によるヘッドレス認証は使用できないということなので注意が必要です。</div></div>
<h3 class="helpHead1"><span id="topic-title" class="ph">非公開鍵と自己署名デジタル証明書の作成</span></h3>
<p>OAuth 2.0 JWT ベアラー認証フローでは、証明書の署名に使用されるデジタル証明書と非公開鍵が必要になります。デジタル証明書をカスタム接続アプリケーションにアップロードします。このカスタム接続アプリケーションも JWT ベアラー認証フローで必要になります。認証機関で発行された独自の非公開鍵と証明書を使用できます。または、OpenSSL を使用して鍵と自己署名デジタル証明書を作成することもできます。</p>
<p>【Open SSLをインストール（未インストールの場合）】</p>
<p>手順①以下のサイトにWindows用にビルドされたインストーラがあるので、ダウンロードします。</p>
<p>Webサイト「Shining Light Productions（<a href="https://slproweb.com/products/Win32OpenSSL.html" rel="noopener">Win32/Win64 OpenSSL</a>）」　※実行時点の最新版で構いません。</p>
<p>今回は、Win64 OpenSSL v1.1.1oのMSIをダウンロードします。</p>
<p><span style="color: #ff0000;">※Win64 OpenSSL v3.0.3の場合、最後のsfdxでの認証でエラーになることがわかっているので間違えないようにしてください。Issue（https://developer.salesforce.com/forums?id=9062I000000BmNHQA0</span>）</p>
<p><span style="color: #ff0000;">ERROR running auth:jwt:grant: We encountered a JSON web token error, which is likely not an issue with Salesforce CLI. Here’s the error: error:25078067:DSO support routines:win32_load:could not load the shared library</span></p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-16-Opensslのダウンロード.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3320" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-16-Opensslのダウンロード.jpg" alt="" width="768" height="401" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-16-Opensslのダウンロード.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-16-Opensslのダウンロード-300x157.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-16-Opensslのダウンロード-1024x535.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-16-Opensslのダウンロード-768x401.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-16-Opensslのダウンロード-1536x802.jpg 1536w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></p>
<p>Windows以外の場合は、Opensslのサイトよりダウンロードしてください。</p>
<p>「openssl.org：<a href="https://www.openssl.org/" rel="noopener">https://www.openssl.org/</a>」</p>
<p>手順②ダウンロードしたインストーラ（MSIファイル）を実行します。</p>
<p>以下の警告メッセージが表示されるので、詳細情報のリンクをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3322" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護.jpg" alt="" width="450" height="422" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護.jpg 1084w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護-300x281.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護-1024x960.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護-768x720.jpg 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順③実行ボタンが表示されるためクリックしてインストールを実行します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護（詳細から実行）2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3354" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護（詳細から実行）2.jpg" alt="" width="450" height="419" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護（詳細から実行）2.jpg 1085w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護（詳細から実行）2-300x279.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護（詳細から実行）2-1024x953.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-17-Windowsの保護（詳細から実行）2-768x715.jpg 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順④インストーラが起動されます。同意にチェックをして次に進みます。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-18-Opensslインストール（同意画面）2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3353" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-18-Opensslインストール（同意画面）2.jpg" alt="" width="450" height="337" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-18-Opensslインストール（同意画面）2.jpg 1022w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-18-Opensslインストール（同意画面）2-300x225.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-18-Opensslインストール（同意画面）2-768x576.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-18-Opensslインストール（同意画面）2-202x150.jpg 202w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑤Opensslのインストール先フォルダを選択します。※デフォルトのままで大丈夫です。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-19-Opensslインストール（インストール先フォルダ）2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3352" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-19-Opensslインストール（インストール先フォルダ）2.jpg" alt="" width="450" height="336" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-19-Opensslインストール（インストール先フォルダ）2.jpg 1013w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-19-Opensslインストール（インストール先フォルダ）2-300x224.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-19-Opensslインストール（インストール先フォルダ）2-768x574.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-19-Opensslインストール（インストール先フォルダ）2-202x150.jpg 202w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑥ショートカット名を指定します。※デフォルトのままで大丈夫です。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-20-Opensslインストール（OpenSSL）2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3351" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-20-Opensslインストール（OpenSSL）2.jpg" alt="" width="450" height="338" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-20-Opensslインストール（OpenSSL）2.jpg 1015w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-20-Opensslインストール（OpenSSL）2-300x225.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-20-Opensslインストール（OpenSSL）2-768x577.jpg 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑦OpenSSL DLLについては、二つ目のオプション（OpenSSL binaries(/bin)directory）を選択してください。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-21-Opensslインストール（OpenSSL-Binaries）2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3350" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-21-Opensslインストール（OpenSSL-Binaries）2.jpg" alt="" width="450" height="335" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-21-Opensslインストール（OpenSSL-Binaries）2.jpg 1020w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-21-Opensslインストール（OpenSSL-Binaries）2-300x223.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-21-Opensslインストール（OpenSSL-Binaries）2-768x571.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-21-Opensslインストール（OpenSSL-Binaries）2-640x475.jpg 640w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-21-Opensslインストール（OpenSSL-Binaries）2-343x254.jpg 343w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-21-Opensslインストール（OpenSSL-Binaries）2-202x150.jpg 202w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑧最終確認後、Installボタンをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-22-Opensslインストール（Ready-to-install）2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3349" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-22-Opensslインストール（Ready-to-install）2.jpg" alt="" width="450" height="336" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-22-Opensslインストール（Ready-to-install）2.jpg 1015w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-22-Opensslインストール（Ready-to-install）2-300x224.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-22-Opensslインストール（Ready-to-install）2-768x573.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-22-Opensslインストール（Ready-to-install）2-202x150.jpg 202w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑨最後に寄付の画面が表示されますが、チェックを外してそのまま終了します。※寄付したい場合は任意のオプションを選択</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-23-Opensslインストール（寄付）2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3348" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-23-Opensslインストール（寄付）2.jpg" alt="" width="450" height="339" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-23-Opensslインストール（寄付）2.jpg 1017w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-23-Opensslインストール（寄付）2-300x226.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-23-Opensslインストール（寄付）2-768x578.jpg 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑩続いて、インストールしたOpensslのパスを設定します。システムのプロパティから詳細設定を開きます。環境変数のボタンをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-24-システム詳細設定.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3329" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-24-システム詳細設定.jpg" alt="" width="450" height="562" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-24-システム詳細設定.jpg 911w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-24-システム詳細設定-240x300.jpg 240w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-24-システム詳細設定-820x1024.jpg 820w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-24-システム詳細設定-768x959.jpg 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑪環境変数の画面にて、ユーザ環境変数の編集ボタンをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-25-ユーザ環境変数.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3330" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-25-ユーザ環境変数.jpg" alt="" width="449" height="247" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-25-ユーザ環境変数.jpg 1167w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-25-ユーザ環境変数-300x165.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-25-ユーザ環境変数-1024x562.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-25-ユーザ環境変数-768x422.jpg 768w" sizes="auto, (max-width: 449px) 100vw, 449px" /></a></p>
<p>手順⑫新規ボタンをクリックして、Opensslをインストールしたフォルダのフルパスを登録します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-26-環境変数の編集.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3331" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-26-環境変数の編集.jpg" alt="" width="450" height="486" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-26-環境変数の編集.jpg 997w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-26-環境変数の編集-278x300.jpg 278w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-26-環境変数の編集-948x1024.jpg 948w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-26-環境変数の編集-768x830.jpg 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑬以下のように新規パスが追加されていることを確認して終了します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-27-環境変数の新規追加.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3332" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-27-環境変数の新規追加.jpg" alt="" width="450" height="486" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-27-環境変数の新規追加.jpg 997w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-27-環境変数の新規追加-278x300.jpg 278w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-27-環境変数の新規追加-948x1024.jpg 948w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-27-環境変数の新規追加-768x830.jpg 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>手順⑬パスが通っているか確認するためコマンドプロンプトを起動して、以下のコマンドを実行します。</p>
<p>&gt;openssl version</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-28-Opensslのバージョン確認.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3333" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-28-Opensslのバージョン確認.jpg" alt="" width="568" height="173" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-28-Opensslのバージョン確認.jpg 1390w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-28-Opensslのバージョン確認-300x91.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-28-Opensslのバージョン確認-1024x312.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-28-Opensslのバージョン確認-768x234.jpg 768w" sizes="auto, (max-width: 568px) 100vw, 568px" /></a></p>
<p>バージョンの情報が表示されていれば成功です。</p>
<h2 class="helpHead1"><span id="topic-title" class="ph">OpenSSL を使用して非公開鍵と自己署名デジタル証明書の作成</span></h2>
<p>つぎにOpensslを使って自己署名デジタル証明書を作成していきます。（以下2つのファイルを生成します）</p>
<p>・server.key — 非公開鍵。auth:jwt:grant コマンドで組織を認証するときにこのファイルを指定します。<br />
・server.crt — デジタル証明書。JWT ベアラーフローで必要な接続アプリケーションを作成するときにこのファイルをアップロードします。</p>
<p>手順①コマンドプロンプトを起動して、非公開鍵を生成するワークフォルダを作成します。</p>
<p>&gt;　mkdir 任意のワークフォルダ（フルパスで指定）　※システム管理者権限が必要なフォルダ階層はやめたほうが良いです。</p>
<p>例：mkdirコマンドを使って以下のフォルダを作成して、cdコマンドで作成したフォルダへ移動します。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt; mkdir C:\Users\e\dev\jdoe\JWT&lt;/p&gt;
&lt;p&gt;&gt; cd C:\Users\e\dev\jdoe\JWT&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>※エクスプローラからフォルダを作成しても構いません。</p>
<p>手順②以下のコマンドを実行して非公開鍵を生成し、server.key というファイルに保存します。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt; openssl genrsa -des3 -passout pass:SomePassword -out server.pass.key 2048&lt;/p&gt;
&lt;p&gt;&gt; openssl rsa -passin pass:SomePassword -in server.pass.key -out server.key&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順③上記コマンド実行後、作業用フォルダに以下2つのファイルが生成されているため[server.pass.key]のほうを削除します。</p>
<p>・server.key</p>
<p>・server.pass.key</p>
<p>手順④server.key ファイルを使用して、証明書署名要求を生成します。（server.csr というファイルに証明書署名要求を保存）</p>
<p>以下のコマンドを実行します。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt; openssl req -new -key server.key -out server.csr&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>以下、会社情報などの情報入力が求められるため適宜ご自身の情報を入力してください。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;openssl req -new -key server.key -out server.csr&lt;br /&gt;
You are about to be asked to enter information that will be incorporated&lt;br /&gt;
into your certificate request.&lt;br /&gt;
What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;
There are quite a few fields but you can leave some blank&lt;br /&gt;
For some fields there will be a default value,&lt;br /&gt;
If you enter &#8216;.&#8217;, the field will be left blank.&lt;br /&gt;
&#8212;&#8211;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #99ccff;&quot;&gt;Country Name (2 letter code) [AU]:JP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;State or Province Name (full name) [Some-State]:TOKYO&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;Locality Name (eg, city) []:KOTO-KU&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;Organization Name (eg, company) [Internet Widgits Pty Ltd]:CCLT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;Organizational Unit Name (eg, section) []:IT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;Common Name (e.g. server FQDN or YOUR name) []:CCLT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;Email Address []:cclt@mail.com&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #99ccff;&quot;&gt;Please enter the following &#8216;extra&#8217; attributes&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;to be sent with your certificate request&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;A challenge password []:　※パスワードを設定&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #99ccff;&quot;&gt;An optional company name []:CCLT&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順⑤以下のcsrファイルが生成されていることを確認します。</p>
<p>server.csr</p>
<p>手順⑥以下のコマンドを実行し、server.key および server.csr ファイルから自己署名デジタル証明書を生成します。</p>
<p>※server.crt というファイルに証明書を保存します。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt; openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt&lt;/p&gt;
&lt;p&gt;（実行結果）&lt;br /&gt;
Certificate request self-signature ok&lt;br /&gt;
subject=C = JP, ST = TOKYO, L = KOTO-KU, O = CCLT, OU = IT, CN = CCLT, emailAddress = cclt@mail.com&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p><span style="color: #ff0000;">※非公開鍵： <span class="ph filepath">server.key</span> とデジタル証明書： <span class="ph filepath">server.crt</span> が存在することを確認します。</span></p>
<h2>接続アプリケーションを作成して Salesforce DX 用に設定</h2>
<p>OAuth 2.0 JWT ベアラー認証フローを使用して、Dev Hub 組織にCircleCI用の接続アプリケーションを作成します。</p>
<h3 class="helpHead1"><span id="topic-title" class="ph">Dev Hub 組織用の接続アプリケーションの作成</span></h3>
<p>手順①Dev Hubを有効化したSalesforce組織にログインして、[設定] から、アプリケーションマネージャを実行します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-29-Salesforce-アプリケーションマネージャ起動.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3336" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-29-Salesforce-アプリケーションマネージャ起動.jpg" alt="" width="1920" height="1182" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-29-Salesforce-アプリケーションマネージャ起動.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-29-Salesforce-アプリケーションマネージャ起動-300x185.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-29-Salesforce-アプリケーションマネージャ起動-1024x630.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-29-Salesforce-アプリケーションマネージャ起動-768x473.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-29-Salesforce-アプリケーションマネージャ起動-1536x946.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順②接続アプリケーション名などの情報を入力して、<span class="huto">OAuth 設定の有効化</span>にチェックを入れます。</p>
<p>※OAuth にチェックを入れるとOAuthの設定情報を入力できるようになります。</p>
<ul>
<li>コールバックURL：「http://localhost:1717/OauthRedirect」を入力します。</li>
<li>デジタル署名を使用：JWT認証の場合こちらをチェック</li>
<li>証明書ファイルのアップロード：ローカル環境で生成した<span class="ph filepath">server.crt</span> をアップロードします。</li>
</ul>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成1.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3337" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成1.jpg" alt="" width="1920" height="1176" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成1.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成1-300x184.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成1-1024x627.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成1-768x470.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成1-1536x941.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順③OAuthの範囲は以下を選択します。</p>
<ul>
<li>API を使用してユーザデータを管理 (api)</li>
<li>Web ブラウザを使用してユーザデータを管理 (web)</li>
<li>いつでも要求を実行 (refresh_token, offline_access)</li>
</ul>
<p>上記を設定後、保存をクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成-2.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3339" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成-2.jpg" alt="" width="1920" height="1187" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成-2.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成-2-300x185.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成-2-1024x633.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成-2-768x475.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成-2-1536x950.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順④保存後の画面に表示されるコンシューマ鍵をコピーしてテキストに張り付けておきます。※後で利用するため</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成3.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3340" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成3.jpg" alt="" width="1920" height="1179" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成3.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成3-300x184.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成3-1024x629.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成3-768x472.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-30-Salesforce-新規接続アプリケーションの作成3-1536x943.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑤manageボタンをクリックして、ポリシーの編集画面にて、<span class="ph cmd"><strong class="ph uicontrol">[ポリシーを編集]</strong> をクリックします。</span></p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-31-Salesforce-新規接続アプリケーション-ポリシーの編集.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3341" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-31-Salesforce-新規接続アプリケーション-ポリシーの編集.jpg" alt="" width="1920" height="1006" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-31-Salesforce-新規接続アプリケーション-ポリシーの編集.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-31-Salesforce-新規接続アプリケーション-ポリシーの編集-300x157.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-31-Salesforce-新規接続アプリケーション-ポリシーの編集-1024x537.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-31-Salesforce-新規接続アプリケーション-ポリシーの編集-768x402.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-31-Salesforce-新規接続アプリケーション-ポリシーの編集-1536x805.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑥ [OAuth ポリシー]の許可されているユーザで <strong class="ph uicontrol">[管理者が承認したユーザは事前承認済み]</strong> を選択します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-33-Salesforce-新規接続アプリケーション-ポリシー設定.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3343" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-33-Salesforce-新規接続アプリケーション-ポリシー設定.jpg" alt="" width="1920" height="1011" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-33-Salesforce-新規接続アプリケーション-ポリシー設定.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-33-Salesforce-新規接続アプリケーション-ポリシー設定-300x158.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-33-Salesforce-新規接続アプリケーション-ポリシー設定-1024x539.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-33-Salesforce-新規接続アプリケーション-ポリシー設定-768x404.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-33-Salesforce-新規接続アプリケーション-ポリシー設定-1536x809.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>以下の警告メッセージが表示されるためOKをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-32-Salesforce-新規接続アプリケーション-警告メッセージ.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3342" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-32-Salesforce-新規接続アプリケーション-警告メッセージ.jpg" alt="" width="454" height="160" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-32-Salesforce-新規接続アプリケーション-警告メッセージ.jpg 917w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-32-Salesforce-新規接続アプリケーション-警告メッセージ-300x106.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-32-Salesforce-新規接続アプリケーション-警告メッセージ-768x271.jpg 768w" sizes="auto, (max-width: 454px) 100vw, 454px" /></a></p>
<p>手順⑦上記の設定が完了したら保存します。</p>
<p>手順⑧プロファイルを管理するのメニューを実行します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-34-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの管理.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3344" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-34-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの管理.jpg" alt="" width="1920" height="1011" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-34-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの管理.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-34-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの管理-300x158.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-34-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの管理-1024x539.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-34-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの管理-768x404.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-34-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの管理-1536x809.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑨この接続アプリケーションを許可するプロファイルを選択して保存します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-35-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3345" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-35-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択.jpg" alt="" width="1920" height="1027" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-35-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-35-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択-300x160.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-35-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択-1024x548.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-35-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択-768x411.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-35-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択-1536x822.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>※プロファイルの選択の代わりに権限セットを作成して、ユーザへ付与しても構いません。</p>
<p>手順⑩認証する組織が <span class="ph filepath">https://login.salesforce.com</span> でホストされていない場合、プロジェクトの設定ファイル (<span class="ph filepath">sfdx-project.json</span>) を更新する必要があります。</p>
<p>sfdx-project.jsonファイルは、Salesforce CLIをインストールしたフォルダ内にあります。</p>
<p>C:\Program Files\Salesforce CLI\client\node_modules\@salesforce\templates\lib\templates\project\<span class="huto">sfdx-project.json</span></p>
<p><span class="huto">sfdx-project.jsonファイルを開いて、URLを書き換えて保存します。</span></p>
<p>https://test.salesforce.comの場合、sfdcLoginUrlの箇所を&#8221;sfdcLoginUrl&#8221;: &#8220;&#8221;とする。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3346" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択.jpg" alt="" width="440" height="235" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択.jpg 1182w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択-300x160.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択-1024x547.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-新規接続アプリケーション-ポリシー設定-プロファイルの選択-768x410.jpg 768w" sizes="auto, (max-width: 440px) 100vw, 440px" />　</a><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-jsonファイル修正.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-3347" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-jsonファイル修正.jpg" alt="" width="477" height="233" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-jsonファイル修正.jpg 1299w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-jsonファイル修正-300x146.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-jsonファイル修正-1024x500.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-36-Salesforce-jsonファイル修正-768x375.jpg 768w" sizes="auto, (max-width: 477px) 100vw, 477px" /></a></p>
<p>手順⑪コマンドプロンプトを起動して以下のコマンドを実行し、接続アプリケーションのクライアント ID (コンシューマ鍵)、非公開鍵ファイル (<span class="ph filepath">server.key</span>) へのパス、および JWT 認証ユーザ名を指定します。</p>
<p>&gt;sfdx auth:jwt:grant &#8211;clientid （手順④でコピーしておいたコンシューマ鍵を指定） &#8211;jwtkeyfile （server.keyをフルパスで指定） &#8211;username （SalesforceへのログインユーザIDを指定） &#8211;setdefaultdevhubusername &#8211;setalias （エイリアス名を指定）my-hub-org</p>
<p>実行例：</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;sfdx auth:jwt:grant &#8211;clientid 3MVG95mg0lk4batiP7Q5f8gZVROjIpEdZT &#8211;jwtkeyfile C:\Users\e\dev\jdoe\JWT\server.key &#8211;username cclt.sfdc@mail.com &#8211;setdefaultdevhubusername &#8211;setalias my-hub-org&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>※ <samp class="codeph nolang">&#8211;setdefaultdevhubusername</samp> パラメータを指定するとDev Hub 組織を認証するときにデフォルトに設定されます。</p>
<h2>サーバキーの暗号化</h2>
<p>続いては、server.keyファイルの暗号化を実施します。※鍵と初期化ベクトル (iv) を生成して server.key ファイルを暗号化する。</p>
<p>CircleCI 側では、ここで利用する鍵と vi を使ってビルド環境でサーバキーの復号化を行います。</p>
<p>手順①コマンドプロンプトを起動して、server.keyファイルを生成したフォルダへ移動します。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt;cd \server.keyファイルがあるディレクトリのフルパスを指定&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順②以下のコマンドを実行します。※&lt;passphrase&gt; は、一意の鍵を作成するためのフレーズを指定します。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;&gt; openssl enc -aes-256-cbc -k &lt;passphrase&gt; -P -md sha1 -nosalt&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>実行すると生成された鍵（key)とivベクトルが表示されるので、テキストに張り付けて保存しておきます。</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;C:\Users\e\dev\jdoe\JWT&gt;openssl enc -aes-256-cbc -k &lt;password&gt; -P -md sha1 -nosalt&lt;br /&gt;
*** WARNING : deprecated key derivation used.&lt;br /&gt;
Using -iter or -pbkdf2 would be better.&lt;br /&gt;
key=6431BAAE651D440343874873ADE64EB02B5311DAAF550BDD67A8C9892&#8230;&lt;br /&gt;
iv =3F8DB47ADD8BF92D751EE0B2BEF&#8230;&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<p>手順③上記手順②で生成されたkeyとivを使ってserver.keyファイルを暗号化します。</p>
<p>コマンドプロンプトで以下のコマンドを実行します。※フォルダは上記鍵を生成したところで実行すること。</p>
<p>&gt;openssl enc -nosalt -aes-256-cbc -in server.key -out server.key.enc -base64 -K &lt;key&gt; -iv &lt;iv&gt;</p>
<p>&lt;key&gt;は、手順②で生成してkeyを指定し、&lt;iv&gt;は、手順②で生成したivを指定</p>
<p>実行例</p>
<div class="cclt-compat-pre st-terminal"><pre><code>&lt;/p&gt;
&lt;p&gt;C:\Users\e\dev\jdoe\JWT&gt;openssl enc -nosalt -aes-256-cbc -in server.key -out server.key.enc -base64 -K 6431BAAE651D440343874873ADE64EB02B5311DAAF550BDD67A8C9892&#8230; -iv 3F8DB47ADD8BF92D751EE0B2BEF&#8230;&lt;/p&gt;
&lt;p&gt;</code></pre></div>
<h2>まとめ<span id="まとめと今後" class="fragment"></span></h2>
<p>今回の記事では、JWTベースフローを使用した組織の認証で、非公開鍵と自己署名デジタル証明書の作成からサーバーキーの暗号化までの手順について説明しました。</p>
<p>次回は、CircleCI を DevHub に接続から最後のCircleci での自動ビルドまで説明していきます。もう一息ですね。</p>
<div class="cclt-compat-card st-no-shadow cclt-compat-card--text"><span class="cclt-compat-card__label" style="background-color:#cccccc;color:#ffffff;">参考</span><a href="https://creativecontentlabtokyo.com/salesforce-continuous-integration-circleci-3/" class="cclt-compat-card__link"><div class="cclt-compat-card__thumb"><img decoding="async" width="300" height="215" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-300x215.jpg" class="attachment-medium size-medium wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-300x215.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-1024x732.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-768x549.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了-1536x1098.jpg 1536w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-56-CircleCI-Project-sfdx-circleci-Build-正常終了.jpg 1920w" sizes="auto, (max-width: 300px) 100vw, 300px" /></div><div class="cclt-compat-card__body"><div class="cclt-compat-card__title">CircleCIを使った継続的インテグレーション（Continuous Integration）第3回</div><div class="cclt-compat-card__excerpt">第二回では、JWTベースフローを使用した組織の認証で、非公開鍵と自己署名デジタル…</div><span class="cclt-compat-card__readmore">続きを読む</span></div></a></div>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">ブログランキングに参加しましたので、ご支援していただけると幸いです。</div></div></div>
<p><a href="https://it.blogmura.com/ranking/in?p_cid=11084904" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" src="https://b.blogmura.com/banner-blogmura-portfolio.svg" alt="にほんブログ村 IT技術ブログへ" width="88" height="31" border="0" /></a><br />
<a href="https://it.blogmura.com/ranking/in?p_cid=11084904" rel="noopener">にほんブログ村</a></p>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3314"
					data-ulike-nonce="b09b78bdc5"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3314"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+2"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CircleCIを使った継続的インテグレーション（Continuous Integration）第1回</title>
		<link>https://creativecontentlabtokyo.com/salesforce-continuous-integration-circleci-1/</link>
		
		<dc:creator><![CDATA[セールスフォース標準化推進ラボ]]></dc:creator>
		<pubDate>Sun, 24 Apr 2022 08:10:06 +0000</pubDate>
				<category><![CDATA[運用]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[CICD]]></category>
		<category><![CDATA[CircleCI]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[DevHub]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[Travis]]></category>
		<category><![CDATA[継続的インテグレーション]]></category>
		<guid isPermaLink="false">https://creativecontentlabtokyo.com/?p=3200</guid>

					<description><![CDATA[Salesforceの大型プロジェクトやアジャイル開発方式を採用したプロジェクトでは、経常的に開発/運用（本番）組織へデプロイ作業を実施することがあります。プロ…]]></description>
										<content:encoded><![CDATA[<p>Salesforceの大型プロジェクトやアジャイル開発方式を採用したプロジェクトでは、経常的に開発/運用（本番）組織へデプロイ作業を実施することがあります。プロジェクトの規模によっては、この作業のためだけに専用のチームを用意することもあります。</p>
<p>これらの作業を自動化することで、作業工数の削減や品質の向上（手作業によるミスの低減）を実現することができます。</p>
<p>以前は、Salesforceの継続的インテグレーションの実現方法が、Jenkinsを使ったCIが主流でしたが、最近ではほかにもいくつか推奨されるものが出てきています。</p>
<ul>
<li>CircleCI + Salesforce</li>
<li>Jenkins + Salesforce</li>
<li>Travis CI + Salesforce</li>
</ul>
<p>詳細は、以下Salesforce公式サイトを参照ください。</p>
<div class="cclt-compat-cmemo" style="background-color:#fafafa;color:#757575;border:px solid ;"><span class="cclt-compat-cmemo__icon fa fa-file-text-o" style="color:#BDBDBD;"></span><div class="cclt-compat-cmemo__text">（公式）Salesforce DX 開発者ガイド「<a href="https://developer.salesforce.com/docs/atlas.ja-jp.sfdx_dev.meta/sfdx_dev/sfdx_dev_ci.htm" rel="noopener">継続的インテグレーション</a>」</div></div>
<p>今回は、これらの中からCircleCIを使った環境構築手順についてご説明していきたいと思います。</p>
<h2>作業手順</h2>
<p>まずは、簡単に全体の流れを説明します。</p>
<div class="cclt-compat-mybox st-mybox-class st-title-under st-list-no" style="background-color:;border:3px solid #f3f3f3;border-radius:5px;margin:25px 0 25px 0;"><div class="cclt-compat-mybox__title" style="color:#757575;">簡単な流れ</div><div class="cclt-compat-mybox__content"></p>
<ol>
<li>Guthubのサインアップ（すでにお使いであれば省略可能）</li>
<li>CircleCIの環境セットアップ（CircleCI で GitHub リポジトリを設定）</li>
<li>Salesforce CLIのインストール</li>
<li>Dev Hub の有効化</li>
<li>Dev Hub組織に対してJWTベースフローを使用した組織の認証を実行</li>
<li>非公開鍵と自己署名デジタル証明書の作成</li>
<li>OpenSSL を使用して非公開鍵と自己署名デジタル証明書の作成</li>
<li>接続アプリケーションを作成して Salesforce DX 用に設定</li>
<li>Dev Hub 組織用の接続アプリケーションの作成</li>
<li>サーバキーの暗号化</li>
<li>CircleCI を DevHub に接続</li>
<li>CircleCIを使ってビルドを実行</li>
</ol>
<p></div></div>
<p>&nbsp;</p>
<h2>GitHubのサインアップ</h2>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3201" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ.jpg" alt="" width="1920" height="1055" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ-300x165.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ-1024x563.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ-768x422.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ-1536x844.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>本記事をご覧になっている方のほとんどは、おそらくGithubをすでに使っている方ばかりだと思いますが、初めての方もいらっしゃるかもしれませんので、GitHubのセットアップ手順について説明させてい頂きます。</p>
<p>GitHub（ギットハブ）とは、プログラムのソースコードなどのリソースファイルをバージョン管理（保存）したり、公開するためのクラウドサービスとなります。もちろん非公開として自分だけやプロジェクトメンバーだけアクセスさせるような利用も可能です。</p>
<p>現在では、世界中のエンジニアの方が自身が作成したプログラムを公開していて、自分のスキルを証明するための資産として利用している側面もあります。Salesforce関連の非常に有用なソースコードも多数公開されているため、新しい機能を作るときには一度探してみるのもよいかもしれません。</p>
<p>セットアップ手順</p>
<p>手順①以下のサイトへアクセスします。</p>
<div class="cclt-compat-cmemo" style="background-color:#fafafa;color:#757575;border:px solid ;"><span class="cclt-compat-cmemo__icon fa fa-file-text-o" style="color:#BDBDBD;"></span><div class="cclt-compat-cmemo__text">GitHub公式サイト「<a href="https://github.com/" rel="noopener">サインアップページ</a>」</div></div>
<p>手順②公式サイトから「Sign up」ボタンをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-1-Github-Signup.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3205" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-1-Github-Signup.jpg" alt="" width="1920" height="1105" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-1-Github-Signup.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-1-Github-Signup-300x173.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-1-Github-Signup-1024x589.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-1-Github-Signup-768x442.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-1-Github-Signup-1536x884.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順③アカウント作成画面にて以下の情報を登録する。</p>
<ul>
<li>ユーザ名（Username）</li>
<li>Email address（メールアドレス）</li>
<li>Password（パスワード）</li>
<li>Verify your account（指定の画像を選択する）</li>
<li>Create Accountボタンをクリックして完了</li>
</ul>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-2-Github-Signup基本情登録.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3207" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-2-Github-Signup基本情登録.jpg" alt="" width="1920" height="1662" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-2-Github-Signup基本情登録.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-2-Github-Signup基本情登録-300x260.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-2-Github-Signup基本情登録-1024x886.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-2-Github-Signup基本情登録-768x665.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-2-Github-Signup基本情登録-1536x1330.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順④登録したメールアドレスに以下のメールが届くため、メール内のリンクをクリックして認証を行います。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3208" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証.jpg" alt="" width="1596" height="1187" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証.jpg 1596w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証-300x223.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証-1024x762.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証-768x571.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証-1536x1142.jpg 1536w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証-640x475.jpg 640w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証-343x254.jpg 343w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-3-Github-Signupメールアドレス認証-202x150.jpg 202w" sizes="auto, (max-width: 1596px) 100vw, 1596px" /></a></p>
<p>手順⑤認証が完了するとログイン後の画面が表示されます。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3201" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ.jpg" alt="" width="1920" height="1055" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ-300x165.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ-1024x563.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ-768x422.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/4-Githubサインアップ-1536x844.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑥新規リポジトリ（リソースを登録するスペースのこと）を作成します。※すでにお持ちの場合は省略</p>
<p>画面右上の＋メニューから「New repository」をクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3215" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成.jpg" alt="" width="1920" height="395" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成-300x62.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成-1024x211.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成-768x158.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成-1536x316.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑦以下の内容を入力して、Create Repositoryボタンをクリックします。</p>
<ul>
<li>Repository name:リポジトリ名</li>
<li>Description（説明）</li>
<li>公開設定：Public（公開）/Private（非公開）</li>
<li>Add a README File：Readmeファイルを作成するかどうか</li>
</ul>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成2.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3216" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成2.jpg" alt="" width="1920" height="1410" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成2.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成2-300x220.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成2-1024x752.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成2-768x564.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成2-1536x1128.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑧リポジトリが作成されると以下のように表示されます。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成3.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3217" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成3.jpg" alt="" width="1920" height="1080" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成3.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成3-300x169.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成3-1024x576.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成3-768x432.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-4-Github-リポジトリの作成3-1536x864.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>この後は、リポジトリにソースコードを登録する作業がありますが、CircleCIの環境セットアップを先に実施します。</p>
<p>※CircleCIはGitHubやGitBucketなどと連携できますが、今回はGithubを利用します。</p>
<h2>CircleCIの環境構築（CircleCI で GitHub リポジトリを設定）</h2>
<p>まずは、CircleCIのサインアップから行っていきます。</p>
<p>手順①以下、ブラウザでCircleCIの公式HPを開きます。</p>
<div class="cclt-compat-cmemo" style="background-color:#fafafa;color:#757575;border:px solid ;"><span class="cclt-compat-cmemo__icon fa fa-file-text-o" style="color:#BDBDBD;"></span><div class="cclt-compat-cmemo__text">CircleIC公式HP「<a href="https://circleci.com/" rel="noopener">ホーム画面</a>」</div></div>
<p>手順②ホーム画面トップメニューにある「Sign up」ボタンをクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-5-CircleCIサインアップ.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3210" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-5-CircleCIサインアップ.jpg" alt="" width="1920" height="1065" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-5-CircleCIサインアップ.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-5-CircleCIサインアップ-300x166.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-5-CircleCIサインアップ-1024x568.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-5-CircleCIサインアップ-768x426.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-5-CircleCIサインアップ-1536x852.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順③サインアップ画面では、以下3種類の認証が用意されています。</p>
<p>今回は先ほどセットアップしたGithubの認証を使うので、「Sign up with GitHub」を選択してください。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-6-CircleCIサインアップ.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3211" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-6-CircleCIサインアップ.jpg" alt="" width="1920" height="1000" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-6-CircleCIサインアップ.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-6-CircleCIサインアップ-300x156.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-6-CircleCIサインアップ-1024x533.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-6-CircleCIサインアップ-768x400.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-6-CircleCIサインアップ-1536x800.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順④GitHubのログイン画面が表示されるため、セットアップしたアカウントでログインします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-7-CircleCIサインアップ-認証.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3213" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-7-CircleCIサインアップ-認証.jpg" alt="" width="1920" height="1211" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-7-CircleCIサインアップ-認証.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-7-CircleCIサインアップ-認証-300x189.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-7-CircleCIサインアップ-認証-1024x646.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-7-CircleCIサインアップ-認証-768x484.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-7-CircleCIサインアップ-認証-1536x969.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑤Autorize CircleCIの画面が表示されます。リポジトリのアクセス権限や個人データ（メールアドレス）に対するアクセス権限を求められるため問題なければ「Authorize CircleCI」をクリックします。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-8-CircleCIサインアップ-Authorize.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3214" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-8-CircleCIサインアップ-Authorize.jpg" alt="" width="1920" height="1235" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-8-CircleCIサインアップ-Authorize.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-8-CircleCIサインアップ-Authorize-300x193.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-8-CircleCIサインアップ-Authorize-1024x659.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-8-CircleCIサインアップ-Authorize-768x494.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-8-CircleCIサインアップ-Authorize-1536x988.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順⑥セットアップ画面では以下の内容を登録して、Setup Projectを実行します。</p>
<ul>
<li>Select Organization：GitHub組織を選択</li>
<li>Select Repository：リポジトリを選択</li>
<li>Select your config.yml file：config.ymlファイルを選択（存在しない場合は2番目のオプションを選択します。）</li>
</ul>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-10-CircleCIサインアップ-組織コード設定3.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3218" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-10-CircleCIサインアップ-組織コード設定3.jpg" alt="" width="1823" height="1371" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-10-CircleCIサインアップ-組織コード設定3.jpg 1823w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-10-CircleCIサインアップ-組織コード設定3-300x226.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-10-CircleCIサインアップ-組織コード設定3-1024x770.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-10-CircleCIサインアップ-組織コード設定3-768x578.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-10-CircleCIサインアップ-組織コード設定3-1536x1155.jpg 1536w" sizes="auto, (max-width: 1823px) 100vw, 1823px" /></a></p>
<p>手順⑦セットアップが完了すると以下の画面が表示されます。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3219" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了.jpg" alt="" width="1920" height="1096" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-300x171.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-1024x585.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-768x438.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-11-CircleCIサインアップ完了-1536x877.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>GitHubを確認するとCircleCIから作成されたBranchが確認できます。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-12-GitHubCircleCI.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3222" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-12-GitHubCircleCI.jpg" alt="" width="1920" height="949" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-12-GitHubCircleCI.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-12-GitHubCircleCI-300x148.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-12-GitHubCircleCI-1024x506.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-12-GitHubCircleCI-768x380.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-12-GitHubCircleCI-1536x759.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<h2>Salesforce CLIのインストール</h2>
<p>Salesforceのコマンドラインインタフェース（CLI）については、インストールが必要となりますので、ご利用中のOSに合わせて</p>
<p>公式サイトからダウンロードしてインストールを実行してください。</p>
<p>詳細な手順はこちらの記事を参照ください。</p>
<div class="cclt-compat-card st-no-shadow cclt-compat-card--text"><span class="cclt-compat-card__label" style="background-color:#cccccc;color:#ffffff;">参考</span><a href="https://creativecontentlabtokyo.com/salesforce-cli-user-guide/" class="cclt-compat-card__link"><div class="cclt-compat-card__thumb"><img decoding="async" width="300" height="120" src="https://creativecontentlabtokyo.com/wp-content/uploads/2021/12/how-to-setup-salesforce-command-line-interface-1-ダウンロードサイト-1-300x120.jpg" class="attachment-medium size-medium wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2021/12/how-to-setup-salesforce-command-line-interface-1-ダウンロードサイト-1-300x120.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2021/12/how-to-setup-salesforce-command-line-interface-1-ダウンロードサイト-1-1024x410.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2021/12/how-to-setup-salesforce-command-line-interface-1-ダウンロードサイト-1-768x308.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2021/12/how-to-setup-salesforce-command-line-interface-1-ダウンロードサイト-1-1536x615.jpg 1536w, https://creativecontentlabtokyo.com/wp-content/uploads/2021/12/how-to-setup-salesforce-command-line-interface-1-ダウンロードサイト-1.jpg 1920w" sizes="auto, (max-width: 300px) 100vw, 300px" /></div><div class="cclt-compat-card__body"><div class="cclt-compat-card__title">Salesforce CLI（Command Line Interface）の利用ガイド</div><div class="cclt-compat-card__excerpt">本記事では、Salesforceが提供するCLI（Command Line In…</div><span class="cclt-compat-card__readmore">続きを読む</span></div></a></div>
<h2><span class="ph cmd">Dev Hub の有効化</span></h2>
<p>Dev Hubを有効化するとスクラッチ組織の作成と管理、第二世代パッケージの作成と管理、Einstein 機能が利用可能となります。</p>
<div class="cclt-compat-cmemo st-text-guide st-text-guide-sankou" style="background-color:#fafafa;color:#000000;border:px solid ;"><span class="cclt-compat-cmemo__icon fa fa-file-text-o" style="color:#919191;"></span><div class="cclt-compat-cmemo__text"><b>スクラッチ組織</b>とは、開発者および自動化 (CI/CD) のために作られた、<b>Salesforce</b> コードおよびメタデータのソース駆動型で破棄可能なリリースです。 <b>スクラッチ組織</b>ではあらゆる設定が可能で、開発者が機能や設定の異なるさまざまな <b>Salesforce</b> エディションをエミュレートできます。</p>
<p>※Salesforce公式HELPサイト「<a href="https://help.salesforce.com/s/articleView?id=sf.managing_scratch_orgs.htm&amp;type=5" rel="noopener">スクラッチ組織の管理</a>」より</div></div>
<p>注意：Sandbox で Dev Hub を有効にすることはできません。そのほか制約事項や注意点は、Salesforce公式HELPサイト「<a href="https://help.salesforce.com/s/articleView?id=sf.sfdx_setup_enable_devhub.htm&amp;type=5" rel="noopener">組織のDev Hub機能の有効化</a>」を参照してください。</p>
<p>ではDev Hubを有効化していきましょう。</p>
<p>手順①Salesforceにシステム管理者でログインして、設定-&gt;Dev Hubを実行します。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-14-DEVHUBの有効化.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3308" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-14-DEVHUBの有効化.jpg" alt="" width="1920" height="1107" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-14-DEVHUBの有効化.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-14-DEVHUBの有効化-300x173.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-14-DEVHUBの有効化-1024x590.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-14-DEVHUBの有効化-768x443.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-14-DEVHUBの有効化-1536x886.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>手順②Dev Hubの設定画面にて、Dev Hubを有効化を実行します。</p>
<p><span style="color: #ff0000;"><strong data-aura-rendered-by="22:6719;a">注意: 一度有効化すると元に戻す（無効化）することができないので注意！</strong></span></p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-15-DEVHUBの有効化を実行する.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3309" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-15-DEVHUBの有効化を実行する.jpg" alt="" width="1920" height="1076" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-15-DEVHUBの有効化を実行する.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-15-DEVHUBの有効化を実行する-300x168.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-15-DEVHUBの有効化を実行する-1024x574.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-15-DEVHUBの有効化を実行する-768x430.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/04/salesforce-continuous-integration-circleci-15-DEVHUBの有効化を実行する-1536x861.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<h2>まとめ</h2>
<p>今回は、GuthubのセットアップからCircleCIのセットアップ、そしてGitHubとの連携と、DevHubの有効化までの手順をご説明しました。</p>
<p>次回は残りの手順についてご説明していきます。Salesforceの組織とCircleCIの認証に関する設定をしていくことになりますが、内容としてはこれまでよりも難しい内容となりますが、頑張って設定していきましょう。</p>
<div class="cclt-compat-card st-no-shadow cclt-compat-card--text"><span class="cclt-compat-card__label" style="background-color:#cccccc;color:#ffffff;">参考</span><a href="https://creativecontentlabtokyo.com/salesforce-continuous-integration-circleci-2/" class="cclt-compat-card__link"><div class="cclt-compat-card__thumb"><img decoding="async" width="300" height="130" src="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-300x130.jpg" class="attachment-medium size-medium wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-300x130.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-1024x444.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-768x333.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1-1536x666.jpg 1536w, https://creativecontentlabtokyo.com/wp-content/uploads/2022/05/salesforce-continuous-integration-circleci-37-CircleCI-fork1.jpg 1920w" sizes="auto, (max-width: 300px) 100vw, 300px" /></div><div class="cclt-compat-card__body"><div class="cclt-compat-card__title">CircleCIを使った継続的インテグレーション（Continuous Integration）第2回</div><div class="cclt-compat-card__excerpt">第一回では、GuthubのセットアップからCircleCIのセットアップ、そして…</div><span class="cclt-compat-card__readmore">続きを読む</span></div></a></div>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">ブログランキングに参加しましたので、ご支援していただけると幸いです。</div></div></div>
<p><a href="https://it.blogmura.com/ranking/in?p_cid=11084904" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" src="https://b.blogmura.com/banner-blogmura-portfolio.svg" alt="にほんブログ村 IT技術ブログへ" width="88" height="31" border="0" /></a><br />
<a href="https://it.blogmura.com/ranking/in?p_cid=11084904" rel="noopener">にほんブログ村</a></p>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3200"
					data-ulike-nonce="74dd25a5e9"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3200"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+2"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
