Examinar selos de fluxo de trabalho

Concluído

Os emblemas de status do fluxo de trabalho proporcionam uma visão rápida da integridade e do status de build do projeto. Eles são essenciais para comunicar a qualidade do projeto aos usuários, colaboradores e stakeholders que visitam seu repositório.

Noções básicas sobre selos de fluxo de trabalho

Selos de status são imagens dinâmicas que exibem o estado atual dos fluxos de trabalho do GitHub Actions. Eles são atualizados automaticamente para refletir o status de build mais recente e fornecem comentários visuais imediatos sobre a integridade do pipeline de CI/CD do projeto.

Por que os selos de fluxo de trabalho importam

Credibilidade do projeto: selos indicam que seu projeto segue boas práticas de desenvolvimento Avaliação rápida: colaboradores podem ver imediatamente se o projeto é estável Garantia de qualidade: selos com falhas alertam os mantenedores sobre problemas que precisam de atenção Aparência profissional: selos bem configurados melhoram a imagem profissional do seu projeto

Criando e configurando selos de fluxo de trabalho

Sintaxe de selo básica

O formato de URL padrão para selos de fluxo de trabalho do GitHub Actions é:

https://github.com/<OWNER>/<REPOSITORY>/actions/workflows/<WORKFLOW_FILE>/badge.svg

Componentes de URL:

  • <OWNER>: seu nome de usuário ou nome de organização do GitHub
  • <REPOSITORY>: nome do repositório
  • <WORKFLOW_FILE>: o nome do arquivo do fluxo de trabalho (por exemplo, ci.yml)

Selos específicos do branch

Exiba o status de branches específicos adicionando o parâmetro branch:

https://github.com/<OWNER>/<REPOSITORY>/actions/workflows/<WORKFLOW_FILE>/badge.svg?branch=<BRANCH_NAME>

Implementações práticas de selo

Integração de README.md básica

# My Awesome Project

![CI](https://github.com/myorg/myproject/actions/workflows/ci.yml/badge.svg)
![Deploy](https://github.com/myorg/myproject/actions/workflows/deploy.yml/badge.svg)

[![Build Status](https://github.com/myorg/myproject/actions/workflows/ci.yml/badge.svg)](https://github.com/myorg/myproject/actions/workflows/ci.yml)

A description of your project...

Exibição de emblema de várias filiais

# Project Status

| Branch  | Status                                                                                                  |
| ------- | ------------------------------------------------------------------------------------------------------- |
| Main    | ![Main Branch](https://github.com/myorg/myproject/actions/workflows/ci.yml/badge.svg?branch=main)       |
| Develop | ![Develop Branch](https://github.com/myorg/myproject/actions/workflows/ci.yml/badge.svg?branch=develop) |
| Release | ![Release Branch](https://github.com/myorg/myproject/actions/workflows/ci.yml/badge.svg?branch=release) |

Coleção de selos avançados

# Build & Quality Status

[![CI Pipeline](https://github.com/myorg/myproject/actions/workflows/ci.yml/badge.svg)](https://github.com/myorg/myproject/actions/workflows/ci.yml)
[![Security Scan](https://github.com/myorg/myproject/actions/workflows/security.yml/badge.svg)](https://github.com/myorg/myproject/actions/workflows/security.yml)
[![Deploy to Production](https://github.com/myorg/myproject/actions/workflows/deploy.yml/badge.svg)](https://github.com/myorg/myproject/actions/workflows/deploy.yml)
[![Code Coverage](https://codecov.io/gh/myorg/myproject/branch/main/graph/badge.svg)](https://codecov.io/gh/myorg/myproject)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

Captura de tela de uma notificação de fluxo de trabalho com falha mostrando o status vermelho indicando falha de build.

Práticas recomendadas de selo de fluxo de trabalho

Posicionamento estratégico de selos

Topo do LEIAME: Local mais visível para a seção status de build primário: seção dedicada para modelos de solicitação pull de integridade do projeto: incluir selos em descrições de PR para contexto

<!-- In your README.md -->

# Project Name

![Build](https://github.com/owner/repo/actions/workflows/build.yml/badge.svg)
![Tests](https://github.com/owner/repo/actions/workflows/test.yml/badge.svg)

<!-- Rest of your README content -->

## Status Dashboard

### Build Pipeline

- **Main Branch**: ![Main](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg?branch=main)
- **Development**: ![Dev](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg?branch=develop)

### Quality Metrics

- **Code Coverage**: ![Coverage](https://codecov.io/gh/owner/repo/branch/main/graph/badge.svg)
- **Security**: ![Security](https://github.com/owner/repo/actions/workflows/security.yml/badge.svg)

Nomes significativos de fluxo de trabalho

Verifique se os arquivos de fluxo de trabalho têm nomes descritivos que criam rótulos de selo claros:

# .github/workflows/ci.yml
name: "CI Pipeline"  # Creates badge with "CI Pipeline" label

# .github/workflows/deploy-production.yml
name: "Production Deployment"  # Creates badge with "Production Deployment" label

# .github/workflows/security-scan.yml
name: "Security Analysis"  # Creates badge with "Security Analysis" label

Padrões de organização de distintivo

Agrupado por função:

## Build & Test

![CI](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg)
![Tests](https://github.com/owner/repo/actions/workflows/test.yml/badge.svg)

## Deployment

![Staging](https://github.com/owner/repo/actions/workflows/deploy-staging.yml/badge.svg)
![Production](https://github.com/owner/repo/actions/workflows/deploy-prod.yml/badge.svg)

## Quality & Security

![CodeQL](https://github.com/owner/repo/actions/workflows/codeql.yml/badge.svg)
![Dependency Check](https://github.com/owner/repo/actions/workflows/deps.yml/badge.svg)

Torne os selos clicáveis para fornecer acesso direto aos detalhes do fluxo de trabalho:

[![Build Status](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/ci.yml)
[![Deploy Status](https://github.com/owner/repo/actions/workflows/deploy.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/deploy.yml)

Integração de selo personalizado

Selos de serviço de terceiros

Complemente selos do GitHub Actions com indicadores de serviço externos:

<!-- Combine GitHub Actions with external services -->

![GitHub Actions](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg)
[![Codecov](https://codecov.io/gh/owner/repo/branch/main/graph/badge.svg)](https://codecov.io/gh/owner/repo)
[![Dependabot](https://api.dependabot.com/badges/status?host=github&repo=owner/repo)](https://dependabot.com)
[![npm version](https://badge.fury.io/js/package-name.svg)](https://badge.fury.io/js/package-name)

Conteúdo de selo dinâmico

Crie selos que mostram informações adicionais:

<!-- Show specific branch status -->

![Main Branch](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg?branch=main&event=push)

<!-- Show latest release status -->

![Release](https://github.com/owner/repo/actions/workflows/release.yml/badge.svg?branch=main&event=release)

Solução de problemas e monitoramento de selo

Problemas comuns e soluções

Selo não atualizado:

  • Verificar o caminho do arquivo de fluxo de trabalho na URL
  • Verificar se o fluxo de trabalho foi concluído pelo menos uma vez
  • Garantir que o nome do fluxo de trabalho corresponda exatamente

O selo mostra o status "desconhecido":

  • O arquivo de fluxo de trabalho não existe ou tem erros de sintaxe
  • O repositório ou fluxo de trabalho é privado sem permissões adequadas
  • Parâmetros de URL estão malformados

Monitoramento de status de insígnia

Configurar alertas para alterações de status de selo:

# .github/workflows/badge-monitor.yml
name: Badge Status Monitor

on:
  workflow_run:
    workflows: ["CI Pipeline"]
    types: [completed]

jobs:
  notify-status:
    runs-on: ubuntu-latest
    if: ${{ github.event.workflow_run.conclusion == 'failure' }}
    steps:
      - name: Notify team of failing badge
        uses: 8398a7/action-slack@v3
        with:
          status: failure
          text: "🚨 CI Pipeline badge is now showing failure status"
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

Estratégias avançadas de emblema

Painel de vários ambientes

## Environment Status

| Environment     | Build                                                                                     | Deploy                                                                                  | Health Check                                                                            |
| --------------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| **Development** | ![Build](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg?branch=develop) | ![Deploy](https://github.com/owner/repo/actions/workflows/deploy-dev.yml/badge.svg)     | ![Health](https://github.com/owner/repo/actions/workflows/health-dev.yml/badge.svg)     |
| **Staging**     | ![Build](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg?branch=staging) | ![Deploy](https://github.com/owner/repo/actions/workflows/deploy-staging.yml/badge.svg) | ![Health](https://github.com/owner/repo/actions/workflows/health-staging.yml/badge.svg) |
| **Production**  | ![Build](https://github.com/owner/repo/actions/workflows/ci.yml/badge.svg?branch=main)    | ![Deploy](https://github.com/owner/repo/actions/workflows/deploy-prod.yml/badge.svg)    | ![Health](https://github.com/owner/repo/actions/workflows/health-prod.yml/badge.svg)    |

Painel de saúde do projeto

# Project Health Dashboard

## Core Pipeline

[![Build](https://github.com/owner/repo/actions/workflows/build.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/build.yml)
[![Test](https://github.com/owner/repo/actions/workflows/test.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/test.yml)
[![Lint](https://github.com/owner/repo/actions/workflows/lint.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/lint.yml)

## Security & Quality

[![Security Scan](https://github.com/owner/repo/actions/workflows/security.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/security.yml)
[![Dependency Audit](https://github.com/owner/repo/actions/workflows/audit.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/audit.yml)
[![Code Quality](https://sonarcloud.io/api/project_badges/measure?project=owner_repo&metric=alert_status)](https://sonarcloud.io/dashboard?id=owner_repo)

## Deployment Status

[![Staging Deploy](https://github.com/owner/repo/actions/workflows/deploy-staging.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/deploy-staging.yml)
[![Production Deploy](https://github.com/owner/repo/actions/workflows/deploy-prod.yml/badge.svg)](https://github.com/owner/repo/actions/workflows/deploy-prod.yml)

Os selos de fluxo de trabalho são mais do que apenas indicadores de status: eles são uma ferramenta de comunicação que cria confiança, fornece transparência e demonstra seu compromisso com a qualidade do código. Use-os estrategicamente para criar uma apresentação de projeto profissional e informativa.

Para obter a documentação do selo, consulte Adicionar um selo de status de fluxo de trabalho.