ビルドでのファイルの使用
Bitriseのビルドでファイルを使用する方法は複数あります。
- ファイルを生成するほとんどのStepsは、出力の環境変数(Env Var)にファイルパスを保存します。同じWorkflow内の以降のStepsでは、その環境変数を再利用してファイルにアクセスできます。
- Generic File Storageにファイルをアップロードすると、自動生成された環境変数を、URLを入力として受け付けるStepsのStep入力値として使用できます。
- Generic File Storageにファイルをアップロードすると、Stepsの1つ(たとえばFile Downloader Step)を使用して、ビルド用にファイルをダウンロードできます。これは、ローカルファイルパスを必要とし、入力値としてURLを直接サポートしないStepsで機能します。
File DownloaderStepを使用したファイルのダウンロードClick to copy link
ビルドでファイルにアクセスする方法の1つは、File Downloader Stepを使用することです。このStepは、値としてローカルパスのみを受け付けるStep入力でファイルを使用する必要がある場合に便利です。
Stepは指定した場所にファイルをダウンロードし、以降のすべてのStepはその場所でファイルにアクセスできます。
- Workflow Editor
- Configuration YAML
-
Workflow Editorを開きます。
-
WorkflowにFile Downloader Stepを追加します。
-
Download ソースURL入力に、ファイルの場所を追加します。
アップロードしたファイルのダウンロードURLを確認するBitriseにファイルをアップロードした場合、App settingsページのFilesセクションでそのダウンロードURLを確認できます。
-
Download 保存先パス入力に、ファイルのダウンロード先のパスを指定します。これはリポジトリのルートからの相対パスにする必要があります。
入力値として環境変数を使用する入力に直接パスを指定する代わりに、App Env Varにファイルパスを保存することもできます。これにより、他のStepsでは環境変数を通じてファイルを参照できるため、毎回パスを指定する必要がなくなります。
たとえば、パスを
BITRISEIO_MY_FILE_LOCAL_PATH環境変数に保存した場合、それを入力のパスとして使用できるだけでなく、以降のすべてのStepでファイルにアクセスする際にも使用できます。 -
右上にあるSave changesをクリックします。
-
アプリの
bitrise.ymlファイルを開きます。 -
Workflowに
file-downloaderStepを追加します。workflows:download:steps:- activate-ssh-key: {}- git-clone: {}- file-downloader:inputs: -
source入力に、ファイルの場所を追加します。workflows:download:steps:- activate-ssh-key: {}- git-clone: {}- file-downloader:inputs:- source: "$BITRISEIO_BITRISE_TEST_URL" -
destination入力に、ファイルのダウンロード先のパスを指定します。これはリポジトリのルートからの相対パスにする必要があります。workflows:download:steps:- activate-ssh-key: {}- git-clone: {}- file-downloader:inputs:- destination: "/"- source: "$BITRISEIO_BITRISE_TEST_URL"- deploy-to-bitrise-io: {}入力値として環境変数を使用する入力に直接パスを指定する代わりに、App Env Varにファイルパスを保存することもできます。これにより、他のStepsでは環境変数を通じてファイルを参照できるため、毎回パスを指定する必要がなくなります。
たとえば、パスを
BITRISEIO_MY_FILE_LOCAL_PATH環境変数に保存した場合、それを入力のパスとして使用できるだけでなく、以降のすべてのStepでファイルにアクセスする際にも使用できます。
カスタムScriptStepを使用したファイルのダウンロードClick to copy link
File Downloader Stepを使用せずにビルドでアップロード済みファイルをダウンロード・アクセスしたい場合は、独自のカスタムScriptStepを使用することもできます。必要な作業は、ダウンロードURLを取得し、build machine上に存在する完全なダウンロードパスを指定してファイルをダウンロードすることだけです。
- Workflow Editor
- Configuration YAML
-
Bitrise にアクセスして Log in、左側の Bitrise CI を選択し、プロジェクトを選択します。
-
メインページの Workflows ボタンをクリックします。
-
WorkflowにScript Stepを追加します。
-
StepのScript content入力を見つけます。
-
ファイルをダウンロードし、保存先のパスを環境変数に保存するスクリプトを追加します。
BitriseへのファイルのアップロードBitriseにファイルをアップロードすると、スクリプト内でファイルのダウンロードURLを使用できます。
以下の例では、ダウンロードURLはBITRISE_IO_MY_FILE_ID_URL環境変数に保存されています。envmanを使用して、保存先のパスをBITRISEIO_MY_FILE_LOCAL_PATH環境変数に保存しています。以降のStepsは、この環境変数を使用してファイルにアクセスできます。
#!/bin/bashset -ex# specify local download pathexport file_local_path=download/path/to/my/file# download the filewget -O "$file_local_path" "$BITRISEIO_MY_FILE_ID_URL"echo "file downloaded to: $file_local_path"# OPTIONALLY: export the file's local path, to be able to use it in subsequent steps as an input valueenvman add --key BITRISEIO_MY_FILE_LOCAL_PATH --value "$file_local_path"あるいは、たとえば場所をApp Env Varとして設定し、ScriptStep内でパスを定義する代わりに、単にそのパスにダウンロードすることもできます。
-
アプリの
bitrise.ymlファイルを開きます。 -
Workflowに
scriptStepを追加します。my-workflow:steps:script:inputs:- content: -
content入力に、ファイルをダウンロードして保存先のパスを環境変数に保存するスクリプトを追加します。BitriseへのファイルのアップロードBitriseにファイルをアップロードすると、スクリプト内でファイルのダウンロードURLを使用できます。
以下の例では、ダウンロードURLはBITRISE_IO_MY_FILE_ID_URL環境変数に保存されています。envmanを使用して、保存先のパスをBITRISEIO_MY_FILE_LOCAL_PATH環境変数に保存しています。以降のStepsは、この環境変数を使用してファイルにアクセスできます。
my-workflow:steps:- script:inputs:- content:#!/bin/bashset -ex# specify local download pathexport file_local_path=download/path/to/my/file# download the filewget -O "$file_local_path" "$BITRISEIO_MY_FILE_ID_URL"echo "file downloaded to: $file_local_path"あるいは、たとえば場所をApp Env Varとして設定し、ScriptStep内でパスを定義する代わりに、単にそのパスにダウンロードすることもできます。
-
必要に応じて、ファイルのローカルパスをエクスポートし、同じWorkflow内の以降のStepsで使用できるようにします。
my-workflow:steps:- script:inputs:- content:#!/bin/bashset -ex# specify local download pathexport file_local_path=download/path/to/my/file# download the filewget -O "$file_local_path" "$BITRISEIO_MY_FILE_ID_URL"echo "file downloaded to: $file_local_path"# export the file path for subsequent stepsenvman add --key BITRISEIO_MY_FILE_LOCAL_PATH --value "$file_local_path"