Sử dụng nhật ký chạy quy trình
Ta có thể xem liệu một quy trình công việc đang được tiến hành hay đã hoàn tất từ trang quy trình công việc bằng cách đăng nhập vào tài khoản GitHub!
Bạn có thể xem, tìm kiếm và tải xuống nhật ký cho từng công việc trong một quy trình làm việc.
Trong bài viết này Xem nhật ký để chẩn đoán lỗi Tìm kiếm nhật ký Tải xuống nhật ký Xóa nhật ký Xem nhật ký bằng GitHub CLI Để biết thêm thông tin, hãy xem Quyền truy cập trên GitHub .
Nếu quá trình chạy hoàn tất, bạn có thể xem kết quả là thành công, thất bại, bị hủy hay trung tính. Nếu quá trình chạy không thành công, bạn có thể xem và tìm kiếm nhật ký xây dựng để chẩn đoán lỗi và chạy lại quy trình làm việc. Bạn cũng có thể xem biên bản thực hiện công việc có thể tính phí ho ặc tải xuống nhật ký và hiện vật xây dựng.
GitHub Actions sử dụng Checks API để xuất trạng thái, kết quả và nhật ký cho một quy trình công việc. GitHub tạo một bộ kiểm tra mới cho mỗi lần chạy quy trình công việc. Bộ kiểm tra chứa một lần chạy kiểm tra cho mỗi công việc trong quy trình công việc và mỗi công việc bao gồm các bước. GitHub Actions được chạy như một bước trong quy trình công việc. Để biết thêm thông tin về Checks API, hãy xem Điểm cuối API REST để kiểm tra .
Ghi chú
Đảm bảo rằng bạn chỉ cam kết các tệp quy trình công việc hợp lệ vào kho lưu trữ của mình. Nếu .github/workflowschứa tệp quy trình công việc không hợp lệ, GitHub Actions sẽ tạo một lần chạy quy trình công việc không thành công cho mỗi lần cam kết mới.
Xem nhật ký để chẩn đoán lỗi Nếu quy trình làm việc của bạn chạy không thành công, bạn có thể xem bước nào gây ra lỗi và xem lại nhật ký xây dựng của bước không thành công để khắc phục sự cố. Bạn có thể xem thời gian chạy từng bước. Bạn cũng có thể sao chép liên kết cố định đến một dòng cụ thể trong tệp nhật ký để chia sẻ với nhóm của mình. Cần có quyền truy cập đọc vào kho lưu trữ để thực hiện các bước này.
Ngoài các bước được cấu hình trong tệp quy trình công việc, GitHub thêm hai bước bổ sung vào mỗi công việc để thiết lập và hoàn tất việc thực hiện công việc. Các bước này được ghi lại trong quy trình công việc chạy với tên "Thiết lập công việc" và "Hoàn tất công việc".
Đối với các tác vụ chạy trên trình chạy do GitHub lưu trữ, "Thiết lập tác vụ" sẽ ghi lại th ông tin chi tiết về hình ảnh trình chạy và bao gồm liên kết đến danh sách các công cụ được cài đặt sẵn có trên máy trình chạy.
Trên GitHub, hãy điều hướng đến trang chính của kho lưu trữ.
Bên dưới tên kho lưu trữ của bạn, hãy nhấp vào Hành động .
Ảnh chụp màn hình các tab cho kho lưu trữ "github/docs". Tab "Hành động" được tô sáng bằng đường viền màu cam. Ở thanh bên trái, hãy nhấp vào quy trình công việc bạn muốn xem.
Ảnh chụp màn hình thanh bên trái của tab "Hành động". Quy trình làm việc, "CodeQL", được phác thảo bằng màu cam đậm. Từ danh sách các lượt chạy quy trình công việc, hãy nhấp vào tên lượt chạy để xem tóm tắt lượt chạy quy trình công việc.
Trong mục Việc làm hoặc biểu đồ trực quan, hãy nhấp vào việc làm bạn muốn xem.
Bất kỳ bước nào không thành công sẽ tự động được mở rộng để hiển thị kết quả.
Tùy chọn, để có liên kết đến một dòng cụ thể trong nhật ký, hãy nhấp vào số dòng của bước. Sau đó, bạn có thể sao chép liên kết từ thanh địa chỉ của trình duyệt web.
Ảnh chụp màn hình nhật ký của một công việc. Nhật ký của một bước không thành công được mở rộng và số dòng được tô sáng bằng đường viền màu cam. Tìm kiếm nhật ký Bạn có thể tìm kiếm nhật ký xây dựng cho một bước cụ thể. Khi bạn tìm kiếm nhật ký, chỉ các bước mở rộng mới được đưa vào kết quả. Cần có quyền truy cập đọc vào kho lưu trữ để thực hiện các bước này.
Trên GitHub, hãy điều hướng đến trang chính của kho lưu trữ.
Bên dưới tên kho lưu trữ của bạn, hãy nhấp v ào Hành động .
Ảnh chụp màn hình các tab cho kho lưu trữ "github/docs". Tab "Hành động" được tô sáng bằng đường viền màu cam. Ở thanh bên trái, hãy nhấp vào quy trình công việc bạn muốn xem.
Ảnh chụp màn hình thanh bên trái của tab "Hành động". Quy trình làm việc, "CodeQL", được phác thảo bằng màu cam đậm. Từ danh sách các lượt chạy quy trình công việc, hãy nhấp vào tên lượt chạy để xem tóm tắt lượt chạy quy trình công việc.
Trong mục Việc làm hoặc biểu đồ trực quan, hãy nhấp vào việc làm bạn muốn xem.
Ở góc trên bên phải của đầu ra nhật ký, trong hộp tìm kiếm Tìm kiếm nhật ký , hãy nhập truy vấn tìm kiếm.
Tải xuống nhật ký Bạn có thể tải xuống các tệp nhật ký từ lần chạy quy trình công việc của mình. Bạn cũng có thể tải xuống các hiện vật của quy trình công việc. Để biết thêm thông tin, hãy xem Lưu trữ và chia sẻ dữ liệu từ quy trình công việc . Cần có quyền truy cập đọc vào kho lưu trữ để thực hiện các bước này.
Trên GitHub, hãy điều hướng đến trang chính của kho lưu trữ.
Bên dưới tên kho lưu trữ của bạn, hãy nhấp vào Hành động .
Ảnh chụp màn hình các tab cho kho lưu trữ "github/docs". Tab "Hành động" được tô sáng bằng đường viền màu cam. Ở thanh bên trái, hãy nhấp vào quy trình công việc bạn muốn xem.
Ảnh chụp màn hình thanh bên trái của tab "Hành động". Quy trình làm việc, "CodeQL", được phác thảo bằng màu cam đậm. Từ danh sách các lượt chạy quy trình công việc, hãy nhấp vào tên lượt chạy để xem tóm tắt lượt chạy quy trình công việc.
Trong mục Việc làm hoặc biểu đồ trực quan, hãy nhấp vào việc làm bạn muốn xem.
Ở góc trên bên phải của nhật ký, chọn menu thả xuống, sau đó nhấp vào Tải xuống kho lưu trữ nhật ký .
Ảnh chụp màn hình nhật ký của một công việc. Trong tiêu đề, biểu tượng bánh răng được viền màu cam đậm. Ghi chú
Khi bạn tải xuống kho lưu trữ nhật ký cho một quy trình công việc được chạy lại một phần, kho lưu trữ chỉ bao gồm các tác vụ được chạy lại. Để có được một bộ nhật ký hoàn chỉnh cho các tác vụ được chạy từ một quy trình công việc, bạn phải tải xuống kho lưu trữ nhật ký cho các lần chạy trước đó đã chạy các tác vụ khác.
Xóa nhật ký Bạn có thể xóa các tệp nhật ký khỏi quy trình làm việc của mình thông qua giao diện web GitHub hoặc theo chương trình. Cần có quyền ghi vào kho lưu trữ để thực hiện các bước này.
Xóa nhật ký thông qua giao diện web GitHub Trên GitHub, hãy điều hướng đến trang chính của kho lưu trữ.
Bên dưới tên kho lưu trữ của bạn, hãy nhấp vào Hành động .
Ảnh chụp màn hình các tab cho kho lưu trữ "github/docs". Tab "Hành động" được tô sáng bằng đường viền màu cam. Ở thanh bên trái, hãy nhấp vào quy trình công việc bạn muốn xem.
Ảnh chụp màn hình thanh bên trái của tab "Hành động". Quy trình làm việc, "CodeQL", được phác thảo bằng màu cam đậm. Từ danh sách các lượt chạy quy trình công việc, hãy nhấp vào tên lượt chạy để xem tóm tắt lượt chạy quy trình công việc.
Ở góc trên bên phải, chọn menu thả xuống, sau đó nhấp vào Xóa tất cả nhật ký .
Ảnh chụp màn hình trang cho một quy trình làm việc. Ở góc trên bên phải, một nút có nhãn biểu tượng kebab được viền màu cam đậm. Xem lại lời nhắc xác nhận.
Sau khi xóa nhật ký, nút Xóa tất cả nhật ký sẽ bị xóa để cho biết không còn tệp nhật ký nào trong quy trình làm việc.
Xóa nhật ký theo chương trình Bạn có thể sử dụng tập lệnh sau để tự động xóa tất cả nhật ký cho một quy trình công việc. Đây có thể là một cách hữu ích để dọn dẹp nhật ký cho nhiều lần chạy quy trình công việc.
Để chạy đoạn mã mẫu bên dưới:
Sao chép mã ví dụ và lưu vào tệp có tên là delete-logs.sh.
Cấp cho nó quyền thực thi bằng lệnh
chmod +x delete-logs.sh.
Chạy lệnh sau, trong đó REPOSITORY_NAMElà tên kho lưu trữ và WORKFLOW_NAMElà tên tệp quy trình làm việc của bạn.
Vỏ bọc
./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME
Ví dụ, để xóa tất cả nhật ký trong monalisa/octocatkho lưu trữ của .github/workflows/ci.yamlquy trình công việc, bạn sẽ chạy
./delete-logs.sh monalisa/octocat ci.yaml.
Ví dụ kịch bản Đập
#!/usr/bin/env bash
# Delete all logs for a given workflow
# Usage: delete-logs.sh <repository> <workflow-name>
set -oe pipefail
REPOSITORY=$1
WORKFLOW_NAME=$2
# Validate arguments
if [[ -z "$REPOSITORY" ]]; then
echo "Repository is required"
exit 1
fi
if [[ -z "$WORKFLOW_NAME" ]]; then
echo "Workflow name is required"
exit 1
fi
echo "Getting all completed runs for workflow $WORKFLOW_NAME in $REPOSITORY"
RUNS=$(
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$REPOSITORY/actions/workflows/$WORKFLOW_NAME/runs" \
--paginate \
--jq '.workflow_runs[] | select(.conclusion != "") | .id'
)
echo "Found $(echo "$RUNS" | wc -l) completed runs for workflow $WORKFLOW_NAME"
# Delete logs for each run
for RUN in $RUNS; do
echo "Deleting logs for run $RUN"
gh api \
--silent \
--method DELETE \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$REPOSITORY/actions/runs/$RUN/logs" || echo "Failed to delete logs for run $RUN"
# Sleep for 100ms to avoid rate limiting
sleep 0.1
done
Xem nhật ký bằng GitHub CLI Ghi chú
Để tìm hiểu thêm về GitHub CLI, hãy xem Giới thiệu về GitHub CLI .
Để xem nhật ký cho một tác vụ cụ thể, hãy sử dụng lệnh run viewphụ. Thay thế run-idbằng ID của lần chạy mà bạn muốn xem nhật ký. GitHub CLI trả về một menu tương tác để bạn chọn một tác vụ từ lần chạy. Nếu bạn không chỉ định run-id, GitHub CLI trả về một menu tương tác để bạn chọn một lần chạy gần đây, sau đó trả về một menu tương tác khác để bạn chọn một tác vụ từ lần chạy.
gh run view RUN_ID --log
Bạn cũng có thể sử dụng --jobcờ để chỉ định ID công việc. Thay thế job-idbằng ID của công việc mà bạn muốn xem nhật ký.
gh run view --job JOB_ID --log
Bạn có thể sử dụng 'grep' để tìm kiếm nhật ký. Ví dụ, lệnh này sẽ trả về tất cả các mục nhật ký có chứa từ error.
gh run view --job JOB_ID --log | grep error
Để lọc nhật ký cho bất kỳ bước nào bị lỗi, hãy sử dụng --log-failedthay thế --log.
gh run view --job JOB_ID --log-failed