View on GitHub

aulas-programacao-csharp

Materiais de Aula - Programação de Computadores com C#

Publicação

📽 Veja esta vídeo-aula no Youtube

Para publicar a versão atual do projeto use:

dotnet publish -c Release

Será criada uma pasta em bin\Release\netcoreapp3.1\publish com o conteúdo a ser distribuído.

Para executar, acessa essa pasta e digite:

dotnet NomeDoProjeto.dll

No Windows você pode digitar somente NomeDoProjeto, ou dar duplo clique arquivo .exe.

Essa versão será portátil, ou seja, poderá ser executada em qualquer sistema operacional que suporte .NET, como Windows, Linux, MacOS, etc. desde que instalado o .NET Core Runtime.

Distribuição

Uma maneira de distribuir seu projeto é criando um site para que se possa fazer o download. Podemos fazer isso utilizando o GitHub Pages.

GitHub Pages

Entre em Settings:

Ative o GitHub Pages para a branch Master:

Será exibido um link para seu site. Guarde esse link.

Escolha um tema:

Salve.

Será feito um commit que alterará sua página inicial. Pode ignorar. Volte à página inicial.

Edite a descrição para incluir o link:

Ficará assim:

Altere o arquivo README.md livremente. Ele será convertido para HTML e será sua home-page

Você pode divulgar somente o link do seu site, sem que a pessoa precise conhecer o GitHub.

Integração Contínua

Você também pode usar uma ação de integração contínua do GitHub para publicação automática.

Exemplo:

Crie um arquivo em .github\workflows\dotnet.yml com o seguinte conteúdo:

name: .NET

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

permissions: write-all

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - name: Get files
      uses: actions/checkout@v3

    - name: Setup .NET
      uses: actions/setup-dotnet@v3
      with:
        dotnet-version: 6.0.x

    - name: Restore
      run: dotnet restore

    - name: Build
      run: dotnet build --no-restore -o /home/runner/work/output
      
    - name: Zip
      run: cd /home/runner/work/output/ && zip $.zip *.dll

    - name: Release
      uses: "marvinpinto/action-automatic-releases@latest"
      with:
        repo_token: "$"
        automatic_release_tag: "latest"
        prerelease: false
        files: |
          /home/runner/work/output/*.zip

A cada commit, um arquivo .zip será disponibilizado na seção Releases do seu repositório.

Projeto criado na vídeo-aula

https://ermogenes.github.io/ObrigadoDevCSharp/