web-dev-qa-db-ja.com

GitHubアクションのアクション間でワークディールを持続することは可能ですか?

私はこの朝(wooo)を招待し、今遊びを開始し、いくつかの簡単なビルド、テスト、展開パイプラインをマイグレーションすることを目的として、私が現在CircleCiで実行されているパイプラインを移行しました。

私はまだ行動を中心に私の頭を出ようとしていますが、私が念頭に置いているフローは、プッシュの後、ワークフローの最初のアクションはDockerコンテナを起動します。そのコンテナの内側は、資産の最小化やアーティファクトの削除など、いくつかの簡単なビルドプロセスを実行します。次に次のアクションはビルド上のいくつかのテストを実行します。また、Pipelineの次のアクションは、プッシュしたブランチに応じて、いくつかの環境の1つに展開されます。

私はDocs At https://developer.github.com/actions/ccreating-github-actions/creating-a-docker-container/ とDockerコンテナを起動する初歩的なワークフローを持っています。 WORKDIR内部のビルドコマンドを実行します。私はまた、このWORKDIR内から展開(rsync経由)を実行することもできます。

ただし、これを別々のステップ/アクションに分割したいが、これへの道を理解することはできません。

基本的に、これは私が使用しているCircleciジョブ/ワークフローモデルと似ています。ただし、CIRCLECIでは、最初のジョブはビルドを実行し、次のようにして、残りのワークフロー全体で結果のディレクトリ構造を持続します。

# Persist dist directory
  - persist_to_workspace:
      root: ~/project
      paths:
        - .
 _

それで、私はちょっと私はCircleciの仕事をここでGithubの行動に相当します。基本的に、私が見つけようとしているのは、最初のアクションのDockerコンテナの中にWORKDIRを永続化できるかどうかは、そのWORKDIRを後続のアクションで利用できるようにすることができます。

これは可能ですか、それとも私がgithubの行動を想像することができることを使って私は何をするのですか?

ありがとう!

9
Contention

今日の私のテストでは、ジョブ間でファイルを永続化することはできません。 Circleciは、次の仕事で読むためにいくつかのコンテンツを保存することができますが、githubアクションではできません。

次のテスト:

ジョブにファイルを書き込み、次の読者を読むようにしてください

中古 テストファイル

1)_の書き込みGITHUB_WORKSPACE
[。]私の道:/ home/runner/work/github-actions-test/github-actions-test
[。]結果:最初の仕事を書き込み可能で読むことができますが、2番目のジョブで空をしてください アクションリンク

2)_の書き込み/github/home
[。□私の道:/ github/home
結果: cannot access '/github/home/アクションリンク

3)_の書き込み/home
[。]私の道:/ hom.
結果: touch: cannot touch '/home/myFile.txt': Permission denied _
[。____) アクションリンク

2
Tiago Gouvêa