環境変数
- USERNAME: SSL.com アカウントのユーザー名。 (必須)
- PASSWORD:SSL.comアカウントのパスワード(必須)
- CREDENTIAL_ID: 証明書に署名するための資格情報 ID。 credential_id が省略され、ユーザーが eSigner コード署名証明書を XNUMX つしか持っていない場合、CodeSignTool はデフォルトでそれを使用します。 ユーザーが複数のコード署名証明書を持っている場合、このパラメーターは必須です。 (必須)
- TOTP_SECRET: OAuth TOTP シークレット。 の詳細情報にアクセスできます。 https://www.ssl.com/how-to/automate-esigner-ev-code-signing (必須)
- ENVIRONMENT_NAME : 「TEST」または「PROD」環境。 (必須)
入力
- 入力ファイルパス: 署名するコード オブジェクトのパス。 (必須)
- 出力ディレクトリのパス: 署名されたコード オブジェクトが書き込まれるディレクトリ。 output_path を省略すると、-file_path で指定されたファイルが署名付きファイルで上書きされます。
Java コード (Maven) JAR 署名のワークフロー例
プロジェクトを作成する
プロジェクトの下に、Travis 用のファイルを作成します。
ワークフローのコンポーネントを定義する
- ジョブを実行する CPU アーキテクチャを配置する
アーチ: amd64
- テストを実行するデフォルトの言語
言語: ジャワ
- ジョブを実行するオペレーティング システムを指定します
OS: リナックス
- 使用するUbuntuディストリビューションを書きます
dist: バイオニック
- 環境変数をグローバルに定義します。 ジョブ レベル プロパティは、グローバル変数をオーバーライドします。
- TERM=dumb は Gradle プロジェクト インスタンスにのみ必要であることに注意してください。
- ENVIRONMENT_NAME の下に、テスト署名の場合は「TEST」、ライブ署名の場合は「PROD」を配置します。
env:
グローバル:
– PROJECT_NAME="HelloWorld"
– PROJECT_VERSION=”0.0.1”
– TERM=ダム
– ENVIRONMENT_NAME="テスト"
- ステージの順序を指定します。 次のステージを実行する前に、XNUMX つのステージのすべてのジョブを完了する必要があります。
ステージ:
- 建てる
- サイン
ビルド段階の概要
仕事:
次のとおりです。
– ステージ: ビルド
- ジョブ名
名前: ビルド Maven
- 使用する Ubuntu ディストリビューション
dist: バイオニック
- 署名に docker コマンドを使用する
サービス:
– ドッカー
- dotnet-cli を使用してプロジェクトをビルドする
言語: ジャワ
- プロジェクトをビルドする Java のバージョン
JDK:
–oraclejdk17
- 高速化のために m2 ディレクトリをキャッシュする
キャッシュ:
ディレクトリ:
– $HOME/.m2
- プロジェクトをビルドする前に実行する Before スクリプトを作成する
before_script:
# アーティファクト用のディレクトリを作成
– mkdir -p ${TRAVIS_BUILD_DIR}/アーティファクト
– mkdir -p ${TRAVIS_BUILD_DIR}/パッケージ
# Maven ビルド オプションの設定
– export MAVEN_CLI_OPTS=” –batch-mode –errors –fail-at-end –show-version -DinstallAtEnd=true -DdeployAtEnd=true”
- プロジェクトをビルドするスクリプトを記述します。
- この署名ワークフローの例では、複数のプロジェクト タイプが作成されました。 これが、サブフォルダーを作成することによって、異なるプロジェクト タイプのファイルが保持された理由です。 Java プロジェクト用に「java」という名前のサブフォルダーが作成されました。 上記のデモのスクリーンショットでは、「java」という名前のサブフォルダーを作成する必要がなかったため、これはスクリプトに含まれていません。
スクリプト:
# Maven オプションを使用して Maven プロジェクトをビルドする
– mvn $MAVEN_CLI_OPTS クリーン インストール -f java/pom.xml
# ビルドされたアーティファクトをアーティファクト ディレクトリにコピーします
– cp java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
- ジョブが成功した場合にジョブに添付する必要があるファイルとディレクトリのリストを指定する方法を概説します。
ワークスペース:
作成:
名前: maven-jar-artifacts
パス:
# 署名ジョブを使用するためにアーティファクトを保存します
– ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
サインステージの概要
– ステージ: サイン
- ジョブ名を書きます
名前: 署名 jar ファイル
- 使用する Ubuntu ディストリビューションを配置する
dist: バイオニック
- 署名に Docker コマンドを使用する
サービス:
– ドッカー
- 特定のジョブの環境変数を定義します。
- 上のスクリーンショットでは、sign コマンドは、環境変数ではなく、sign スクリプトで直接定義されています。 BOTH メソッドは TravisCI で正しく署名できます。
env:
コマンド=”記号”
- dotnet-cli を使用してプロジェクトをビルドする
言語: ジャワ
- プロジェクトをビルドする Java のバージョン
JDK:
–oraclejdk17
- プロジェクトをビルドする前にスクリプトを実行する前に
before_script:
# アーティファクト用のディレクトリを作成
– mkdir -p ${TRAVIS_BUILD_DIR}/アーティファクト
– mkdir -p ${TRAVIS_BUILD_DIR}/パッケージ
- プロジェクトをビルドするスクリプト
スクリプト:
# Docker Pull CodeSigner Docker イメージ
– docker pull ghcr.io/sslcom/codesigner:latest
# CodeSigner Docker イメージでアーティファクトに署名
– docker run -i –rm –dns 8.8.8.8 –ネットワークホスト –volume ${TRAVIS_BUILD_DIR}/packages:/codesign/examples
–ボリューム ${TRAVIS_BUILD_DIR}/artifacts:/codesign/output
-e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET}
-e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:最新の ${COMMAND}
-input_file_path=/codesign/examples/${PROJECT_NAME}.jar -output_dir_path=/codesign/output
- ジョブが成功した場合にジョブに添付する必要があるファイルとディレクトリのリストを指定するために使用されます。
ワークスペース:
使用します。
– maven-jar-アーティファクト
作成:
名前: 署名済みの jar ファイル
パス:
# 署名済みアーティファクトを保存
– ${TRAVIS_BUILD_DIR}/artifacts/${PROJECT_NAME}.jar
環境変数を定義する
Travis に移動し、 設定 (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。
各変数の値を追加します
下にスクロールして 環境変数 セクションを開き、[追加] ボタンをクリックして、各変数の値を追加します。
Github リポジトリを作成する
Github でプッシュ コマンドを探す
エディターのターミナルでプッシュ コマンドを記述します。
ビルド ジョブが完了するまで待ちます
Travis では、コードをプッシュした後、ビルド ジョブが自動的に開始されます。
コード署名段階を開始する
クリック 符号 のセクション コード署名ツール 署名プロセスを開始するには
仮想マシンの起動が完了するまで待ちます
コード署名が成功したかどうかを確認する
Travis CI パイプラインのサンプル
作成した Travis CI パイプラインのサンプルを確認してください github.com/SSLcom/codesigner-travisci-sampleその他の CI/CD サービス リモート署名統合ガイド
- クラウド コード署名と CircleCI の統合
- Cloud Code Signing と GitHub Actions の統合
- クラウド コード署名と GitLab CI の統合
- Jenkins CI との Cloud Code Signing 統合
- クラウド コード署名と Azure DevOps の統合
- クラウド コード署名と BitBucket の統合
- CI/CD サービスによるクラウド コード署名の自動化
カスタムソリューションが必要ですか?
専門知識とXNUMXつ星のサポートスタッフにより、カスタムソリューションやエンタープライズレベルの大量署名割引についてお客様と協力する準備ができています。 以下のフォームにご記入ください。ご連絡いたします。