Os responsáveis por lojas de terceiros podem automatizar uma App Store Docker self-hosted sem copiar todo o repositório oficial.
Esta página mostra a forma recomendada de reutilizar o processo oficial de compilação e publicação.
Caminho de reutilização recomendado
Para repositórios externos, prefira estas camadas:
- Utilize a ação pública de compilação
IceWhaleTech/build-appstore-action. - Mantenha no workflow do seu repositório a responsabilidade pela validação, carregamento de artefactos e publicação.
- Trate as ações auxiliares em
.github/actions/deste repositório como exemplos ou wrappers locais, a menos que as incorpore intencionalmente.
Para que serve cada ação
IceWhaleTech/build-appstore-action: motor público de compilação v2. Utilize-o para gerardist/no workflow do seu repositório..github/actions/build-store-v2: wrapper local do repositório em torno da ação pública..github/actions/build-store-v1: empacota o artefacto legadodist/store/main.zippara clientes antigos..github/actions/validate-compose: verifica os metadados Compose antes da compilação..github/actions/write-job-summary: escreve relatórios JSON estruturados no resumo do GitHub Actions..github/actions/render-report: converte relatórios JSON em artefactos HTML independentes.
Separação recomendada dos workflows
O repositório oficial separa as responsabilidades desta forma:
validator.yml: valida a entrada Compose e confirma que a compilação v2 termina com êxito.release.yml: compiladist/v2 emain.zipv1, carrega artefactos e guarda caches.release-store.yml: publica releases etiquetadas, implementadist/emgh-pagese cria um pacote de GitHub Release.
Para a maioria das lojas de terceiros, utilize a mesma separação:
- um workflow de validação para PRs
- um workflow de compilação para artefactos reutilizáveis
- um workflow de publicação para etiquetas ou releases
Workflow mínimo de validação
name: Validate Store |
Workflow mínimo de publicação
name: Release Store |
Nota de compatibilidade
Se ainda suportar clientes v1 legados, adicione um passo que também produza dist/store/main.zip. O repositório oficial faz isso através de .github/actions/build-store-v1 depois de a compilação v2 terminar com êxito.
Compilações locais
Utilize ./scripts/build_dist.sh quando quiser aproximar o desenvolvimento local da ação de compilação oficial. Para a CI real de uma loja de terceiros, utilize diretamente o GitHub Actions.