かべぎわブログ

ブログです

CircleCIでpersist_to,attach_workspaceをつかってJob間でファイルを共有する

概要

CircleCIでpersist_to_workspaceattach_workspaceを利用してJob間でファイルを共有してみます。

たとえばビルドした結果を別のJobでデプロイなどよくありがちだと思う。

.circleci/config.yaml

こんなかんじ。
今回はテスト用にechoをリダイレクトするJobとそれを確認するJobでわけてみた。

version: 2.1

jobs:
  build:
    docker:
      - image: circleci/python:3.7
    working_directory: ~/repo
    steps:
    - run:
        command: |
          mkdir build
          echo 'wawawa' >> build/wawawa.txt

    - persist_to_workspace:
        root: ~/repo
        paths:
            - build/* 
  deploy:
    docker:
      - image: circleci/python:3.7
    working_directory: ~/repo
    steps:
    - attach_workspace:
        at: ~/repo
    - run:
        command: |
          pwd
          ls -l 
          ls -l build 

workflows:
   main:
     jobs:
     - build 
     - deploy:
         requires:
           - build

結果

できた。

おわりに

おくがふかいですね

インフラCI実践ガイド Ansible/GitLabを使ったインフラ改善サイクルの実現

インフラCI実践ガイド Ansible/GitLabを使ったインフラ改善サイクルの実現