[解決済み] Githubアクションでジョブ間のワークスペース/アーティファクトを共有する?
質問
Github のベータ版アクションを使おうとして、コードをビルドするジョブと、コードをデプロイするジョブの 2 つを持っています。しかし、私はデプロイジョブでビルドアーチファクトを取得することができないようです。
私の最新の試みは、ドキュメントによると、各ジョブに対して同じボリュームを持つコンテナ イメージを手動で設定することです。 https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idcontainervolumes
コンテナが使用するボリュームのアレイを設定します。ボリュームを使用して、ジョブ内のサービスまたは他のステップ間でデータを共有することができます。名前付きDockerボリューム、匿名Dockerボリューム、またはホスト上のバインドマウントを指定することができます。
ワークフロー
name: CI
on:
push:
branches:
- master
paths:
- .github/workflows/server.yml
- server/*
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://node:10
volumes:
- /workspace:/github/workspace
steps:
- uses: actions/checkout@master
- run: yarn install
working-directory: server
- run: yarn build
working-directory: server
- run: yarn test
working-directory: server
- run: ls
working-directory: server
deploy:
needs: build
runs-on: ubuntu-latest
container:
image: docker://google/cloud-sdk:latest
volumes:
- /workspace:/github/workspace
steps:
- uses: actions/checkout@master
- run: ls
working-directory: server
- run: gcloud --version
最初のジョブ(build)にはビルドディレクトリがありますが、2番目のジョブ(deploy)が実行されるとビルドディレクトリはなく、ソースコードのみが格納されます。
このプロジェクトは Mono リポジトリであり、デプロイしようとしているコードはパス
server
であるため、すべての
working-directory
のフラグが立ちます。
どのように解決するのですか?
Github Actions の upload-artifact と download-artifact を使って、ジョブ間でデータを共有することができます。
job1では
steps:
- uses: actions/checkout@v1
- run: mkdir -p path/to/artifact
- run: echo hello > path/to/artifact/world.txt
- uses: actions/upload-artifact@master
with:
name: my-artifact
path: path/to/artifact
そしてjob2。
steps:
- uses: actions/checkout@master
- uses: actions/download-artifact@master
with:
name: my-artifact
path: path/to/artifact
- run: cat path/to/artifact/world.txt
https://github.com/actions/upload-artifact
https://github.com/actions/download-artifact
関連
-
[解決済み] github リポジトリのフォークを解除するには?
-
[解決済み] githubの学生アカウントのリポジトリは2年後にどうなりますか?
-
[解決済み] Travis のビルド状況を GitHub リポジトリに表示する
-
[解決済み] target="_blank" を使って github マークダウンでリンクを新しいタブで開く
-
[解決済み] GitHubで「Key is invalid」というメッセージが表示される。
-
[解決済み] GitHubのMD markdown readmeに空白を追加するには?
-
[解決済み] 公式githubミラーの作成
-
[解決済み] githubで比較するときに空白を無視するには?
-
[解決済み] github上の課題を他のリポジトリに移動するには?
-
[解決済み] github readme.mdの現在のブランチを参照する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] github リポジトリのフォークを解除するには?
-
[解決済み] githubの学生アカウントのリポジトリは2年後にどうなりますか?
-
[解決済み] Travis のビルド状況を GitHub リポジトリに表示する
-
[解決済み] target="_blank" を使って github マークダウンでリンクを新しいタブで開く
-
[解決済み] githubでgistの名前を変更するには?
-
[解決済み] GitHubのMD markdown readmeに空白を追加するには?
-
[解決済み] index.html を変更した後、GitHub のページに変更が反映されるまでの時間は?
-
[解決済み] CocoaPodsとGitHubのフォーク
-
[解決済み] 新しい gist インターフェースで GitHub の gist から単一のファイルを埋め込むにはどうすればよいですか?
-
[解決済み] github上の課題を他のリポジトリに移動するには?