Hành động này cho phép bạn xác định tùy chỉnh tập tin python bên trong tệp yaml công việc. Viết mã Python của bạn làm đối số
name: Run Script on: push: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/[email protected] - uses: actions/[email protected] - uses: jannekem/[email protected] id: script with: fail-on-error: false script: | print["Doing something that will fail"] a = [] a[10] - name: Print errors if: steps.script.outputs.error == 'true' run: | printenv "SCRIPT_STDOUT" printenv "SCRIPT_STDERR" env: SCRIPT_STDOUT: ${{ steps.script.outputs.stdout }} SCRIPT_STDERR: ${{ steps.script.outputs.stderr }}8 và sử dụng tính năng chuỗi đa dòng YAML để xác định các lệnh đa dòng của tập tin
Yêu cầu duy nhất là bạn thiết lập môi trường Python trước khi chạy hành động. Dưới đây là một ví dụ quy trình công việc trong nội dung thư mục gốc của kho lưu trữ vào nhật ký hành động
Phần còn lại của hướng dẫn này bao gồm việc định cấu hình các dự án Python trong Travis CI. Nếu bạn là người mới sử dụng Travis CI, vui lòng đọc Hướng dẫn của chúng tôi và xây dựng hướng dẫn cấu hình trước
Chỉ định phiên bản Python #
Chỉ định các phiên bản Python bằng phím
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
9. Khi chúng tôi cập nhật hình ảnh bản dựng Python, các bí danh như language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
0 sẽ trỏ đến các phiên bản hoặc cấp bản vá chính xác khác nhaulanguage: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
Nếu phiên bản Python được chỉ định không có sẵn trên hình ảnh bản dựng hiện tại, công việc sẽ cố tải xuống kho lưu trữ từ xa phù hợp và cung cấp nó. Bạn có thể tìm thấy danh sách các phiên bản như vậy trong bảng bên dưới
Travis CI Sử dụng virtualenvs biệt lập #
Môi trường CI sử dụng các phiên bản virtualenv riêng biệt cho từng phiên bản Python. Điều này có nghĩa là ngay sau khi bạn chỉ định
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
1 trong language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
2, các thử nghiệm của bạn sẽ chạy bên trong virtualenv [mà bạn không cần phải tạo nó một cách rõ ràng]. Hệ thống Python không được sử dụng và không nên dựa vào. Nếu bạn cần cài đặt các gói Python, hãy thực hiện qua pip chứ không phải aptNếu bạn vẫn quyết định sử dụng apt, hãy lưu ý rằng vì lý do tương thích, bạn sẽ chỉ có thể sử dụng các phiên bản Python mặc định có sẵn trong Ubuntu [e. g. đối với Xenial, điều này có nghĩa là 2. 7. 12 và 3. 5. 2]. Để truy cập các gói bên trong virtualenv, bạn cần chỉ định rằng nó sẽ được tạo bằng tùy chọn
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
3. Để làm điều này, hãy bao gồm những điều sau đây trong language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
2 của bạnlanguage: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
Hỗ trợ PyPy #
Travis CI hỗ trợ PyPy và PyPy3
Để kiểm tra dự án của bạn dựa trên PyPy, hãy thêm “pypy” và/hoặc “pypy3” vào danh sách Python trong
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
2 của bạnlanguage: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
Hỗ trợ xây dựng hàng đêm #
Travis CI hỗ trợ tên phiên bản đặc biệt
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
6, chỉ ra phiên bản phát triển gần đây của bản dựng CPythonHỗ trợ phát hành phát triển #
Từ Python 3. 5 trở lên, có sẵn các phiên bản Python In Development
Bạn có thể chỉ định những thứ này trong bản dựng của mình bằng
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
7, language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
8, language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
9, language: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
0, language: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
1, language: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
2 hoặc language: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
3Tập lệnh xây dựng mặc định #
Các dự án Python cần cung cấp khóa
language: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
4 trong language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
2 của chúng để chỉ định lệnh nào sẽ chạy thử nghiệm vớiVí dụ: nếu dự án của bạn sử dụng pytest
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
0nếu nó sử dụng
language: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
6 thay thếNếu bạn không cung cấp khóa
language: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
4 trong dự án Python, Travis CI sẽ in một thông báo [“Vui lòng ghi đè tập lệnh. chìa khóa trong của bạn. travis. yml để chạy thử nghiệm. ”] và không thể xây dựngSử dụng Tox làm Tập lệnh xây dựng #
Do cách thiết kế của Travis, việc tương tác với tox không đơn giản. Như đã mô tả ở trên, Travis đã chạy thử nghiệm bên trong một virtualenv bị cô lập bất cứ khi nào chỉ định
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
1, vì vậy hãy ghi nhớ điều đó bất cứ khi nào tạo thêm môi trường với tox. Nếu bạn muốn chạy tox bên ngoài virtualenv do Travis tạo, bạn nên sử dụng language: python
python:
- "2.7"
- "3.8"
# PyPy versions
- "pypy" # currently Python 2.7.13, PyPy 7.1.1
- "pypy3" # currently Python 3.6.9, PyPy 7.3.1
# command to install dependencies
install:
- pip install -r requirements.txt
- pip install .
# command to run tests
script: pytest
9 thay vì language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
1Nếu bạn đang sử dụng tox để kiểm tra mã của mình với nhiều phiên bản Python, bạn có hai tùy chọn
- sử dụng
9 và cài đặt thủ công các phiên bản Python mà bạn quan tâm trước khi chạy tox [nếu không cài đặt thủ công, tox sẽ chỉ có quyền truy cập vào các phiên bản Ubuntu Python mặc định - 2. 7. 12 và 3. 5. 2 cho Xenial]language: python python: - "2.7" - "3.8" # PyPy versions - "pypy" # currently Python 2.7.13, PyPy 7.1.1 - "pypy3" # currently Python 3.6.9, PyPy 7.3.1 # command to install dependencies install: - pip install -r requirements.txt - pip install . # command to run tests script: pytest
- sử dụng
1 và một ma trận xây dựng sử dụng một phiên bản Python khác cho mỗi nhánh [bạn có thể chỉ định phiên bản Python bằng cách sử dụng khóalanguage: python python: - "2.7" - "3.5" virtualenv: system_site_packages: true
9]. Điều này sẽ đảm bảo các phiên bản mà bạn quan tâm được cài đặt và xử lý song song khối lượng công việc của bạnlanguage: python python: - "2.7" - "3.5" virtualenv: system_site_packages: true
Chạy thử nghiệm Python trên nhiều Hệ điều hành #
Đôi khi cần đảm bảo rằng phần mềm hoạt động giống nhau trên nhiều Hệ điều hành. Tệp
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
2 sau đây sẽ chạy thử nghiệm song song trên Linux, macOS và Windowslanguage: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
9Quản lý phụ thuộc #
ống #
Theo mặc định, Travis CI sử dụng
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
05 để quản lý các phụ thuộc Python. Nếu bạn có tệp language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
06, Travis CI sẽ chạy language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
07 trong giai đoạn xây dựng language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
08Ví dụ, bạn có thể ghi đè giai đoạn
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
08 mặc định này theo cách thủ cônglanguage: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
5Xin lưu ý rằng tùy chọn
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
90 là bắt buộc nếu bạn không sử dụng language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
1, vì sẽ không có virtualenv nào được tạo trong trường hợp đóTrình giải quyết phụ thuộc mới trong language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
05 20. 3 #
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
Như được mô tả trong thông báo của PyPa,
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
05 phiên bản 20. 3 sẽ xuất xưởng với một trình giải quyết phụ thuộc mới. Điều này có thể có những thay đổi bất ngờ trong phần mềm của bạn; Để kiểm tra tác dụng của trình giải quyết phụ thuộc mới trên phần mềm của bạn, chúng tôi khuyên bạn nên kiểm tra nó với
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
05 phiên bản 20. 2. Để làm như vậy, hãy sửa đổi bản dựng của bạn để cập nhật language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
05 lên phiên bản 20. 2 và để gọi language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
05 với cờ language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
97. Ví dụlanguage: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
4Quản lý phụ thuộc tùy chỉnh #
Để ghi đè quản lý phụ thuộc
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
05 mặc định, hãy thay đổi bước language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6" # current default Python on Travis CI
- "3.7"
- "3.8"
- "3.9"
- "3.9-dev" # 3.9 development branch
- "nightly" # nightly build
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
99 như được mô tả trong hướng dẫn cấu hình bản dựng chungThử nghiệm đối với nhiều phiên bản phụ thuộc [e. g. Django hoặc Flask] #
Nếu bạn cần kiểm tra nhiều phiên bản của Django, chẳng hạn như Django, bạn có thể hướng dẫn Travis CI thực hiện nhiều lần chạy với các tập hợp hoặc giá trị biến môi trường khác nhau
Sử dụng khóa env trong của bạn. travis. tập tin yml chẳng hạn
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
7và sau đó sử dụng các giá trị biến ENV trong tập lệnh cài đặt phần phụ thuộc, trường hợp thử nghiệm hoặc giá trị tham số tập lệnh thử nghiệm của bạn. Ở đây chúng tôi sử dụng giá trị biến ENV để hướng dẫn pip cài đặt phiên bản chính xác
language: python
python:
- "2.7"
- "3.5"
virtualenv:
system_site_packages: true
8Kỹ thuật tương tự thường được sử dụng để kiểm tra các dự án dựa trên nhiều cơ sở dữ liệu, v.v.
Để biết các ví dụ trong thế giới thực, hãy xem getentry/sentry và jpvanhal/flask-split
Xây dựng tham khảo cấu hình #
Bạn có thể tìm thêm thông tin về định dạng cấu hình bản dựng cho Python trong Tài liệu tham khảo cấu hình bản dựng Travis CI của chúng tôi