

CircleCIで[Pythonのチュートリアル](https://circleci.com/docs/2.0/language-
python/)を実行していました。  
設定ファイルを見ると、workflowで定義したジョブを実行するように見えます。にも関わらず、チュートリアルの通りに進めたらworkflowのない
`config.yaml`がCircleCI上で実行されてしまいました。

どうしてか、理由がわかる方がいらっしゃいましたら教えてください。

ファイルは以下になります。

[code]

    version: 2
    jobs:
    build:
        working_directory: ~/circleci-demo-python-django
        docker:
        - image: circleci/python:3.6.4
            environment:
            PIPENV_VENV_IN_PROJECT: true
            DATABASE_URL: postgresql://root@localhost/circle_test?sslmode=disable
        - image: circleci/postgres:9.6.2
            environment:
            POSTGRES_USER: root
            POSTGRES_DB: circle_test
        steps:
        - checkout
        - run: sudo chown -R circleci:circleci /usr/local/bin
        - run: sudo chown -R circleci:circleci /usr/local/lib/python3.6/site-packages
        - restore_cache:
            key: deps9-{{ .Branch }}-{{ checksum "Pipfile.lock" }}
        - run:
            command: |
                sudo pip install pipenv
                pipenv install
        - save_cache:
            key: deps9-{{ .Branch }}-{{ checksum "Pipfile.lock" }}
            paths:
                - ".venv"
                - "/usr/local/bin"
                - "/usr/local/lib/python3.6/site-packages"
        - run:
            command: |
                pipenv run "python manage.py test"
        - store_test_results:
            path: test-results
        - store_artifacts:
            path: test-results
            destination: tr1
    
[/code]

よろしくお願いいたします。


CC BY-SA 4.0
2018-12-06T08:42:45.783
50972
2018-12-06T09:06:05.440
26110
question
circleci
CircleCIでworkflowを定義しなくてもjobが動いたのはどうしてですか？


# TL;DR

Workflowの利用は必須ではありません。必要に応じて、Workflowなしでジョブを実行することが可能です。  
[Using Workflows to Schedule Jobs -
CircleCI](https://circleci.com/docs/2.0/workflows/)

# 解説

Workflow機能を利用すると、ジョブの実行順や依存関係を指定することが可能です。一方、 `build`
という名前のジョブを作成してあげることで、Workflowなしでの実行が可能です。

> If you are using Workflows, jobs must have a name that is unique within the
> .circleci/config.yml file.
>
> If you are **not** using workflows, the jobs map must contain a job named
> `build`. This build job is the default entry-point for a run that is
> triggered by a push to your VCS provider. It is possible to then specify
> additional jobs and run them using the CircleCI API.
>
> Note: Jobs have a maximum runtime of 5 hours. If your jobs are timing out,
> consider running some of them in parallel.  
>  [Configuring CircleCI -
> CircleCI](https://circleci.com/docs/2.0/configuration-reference/#jobs)


CC BY-SA 4.0
2018-12-06T08:49:46.780
50973
2018-12-06T09:06:05.440
2020-06-17T08:14:45.997
-1
29826
50972
answer