Repository: FGA-GCES/A-disciplina Branch: master Commit: adecd701c9fb Files: 51 Total size: 234.1 KB Directory structure: gitextract_dyxa56vm/ ├── .dockerignore ├── .github/ │ └── workflows/ │ └── hugo.yml ├── .gitmodules ├── Dockerfile ├── LICENSE ├── ProjetoIndividualCarla2023-1.md ├── Projetos_2021_1.md ├── Projetos_2021_2.md ├── Projetos_2022_1_Turma_T02.md ├── Projetos_2022_2_Turma_T01.md ├── Projetos_2023_1.md ├── Projetos_2023_2.md ├── Projetos_2024_1.md ├── Projetos_2024_2.md ├── Projetos_2025_1_Turma_Renato.md ├── Projetos_2025_2.md ├── Projetos_2026_1.md ├── README-HUGO.md ├── README.md ├── Resultados dos grupos 2021_2.md ├── archetypes/ │ └── default.md ├── cheklists.md ├── content/ │ ├── _index.md │ ├── cronograma/ │ │ └── _index.md │ ├── projetos/ │ │ └── _index.md │ └── slides/ │ └── _index.md ├── diario-bordo.md ├── docker-compose.yml ├── hugo.toml ├── plano-ensino-carla.md ├── public/ │ ├── 404.html │ ├── assets/ │ │ └── css/ │ │ └── stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css │ ├── categories/ │ │ ├── index.html │ │ └── index.xml │ ├── cronograma/ │ │ ├── index.html │ │ ├── index.xml │ │ └── page/ │ │ └── 1/ │ │ └── index.html │ ├── index.html │ ├── index.xml │ ├── page/ │ │ └── 1/ │ │ └── index.html │ ├── projetos/ │ │ ├── index.html │ │ ├── index.xml │ │ └── page/ │ │ └── 1/ │ │ └── index.html │ ├── sitemap.xml │ ├── slides/ │ │ ├── index.html │ │ ├── index.xml │ │ └── page/ │ │ └── 1/ │ │ └── index.html │ └── tags/ │ ├── index.html │ └── index.xml ├── slides/ │ └── Readme.md └── template-relatorio.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: .dockerignore ================================================ # Git files (keep .git and .gitmodules for submodules) .gitignore # Hugo build output public/ resources/ # Node modules (if any) node_modules/ # OS files .DS_Store Thumbs.db # IDE files .vscode/ .idea/ *.swp *.swo # Temporary files *.tmp *.temp # Log files *.log # Documentation (not needed in container) README-HUGO.md # PDF files (large files not needed for build) *.pdf ================================================ FILE: .github/workflows/hugo.yml ================================================ # Sample workflow for building and deploying a Hugo site to GitHub Pages name: Deploy Hugo site to Pages on: # Runs on pushes targeting the default branch push: branches: - main - master # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "pages" cancel-in-progress: false # Default to bash defaults: run: shell: bash jobs: # Build job build: runs-on: ubuntu-latest env: HUGO_VERSION: 0.128.0 steps: - name: Install Hugo CLI run: | wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ && sudo dpkg -i ${{ runner.temp }}/hugo.deb - name: Install Dart Sass run: sudo snap install dart-sass - name: Checkout uses: actions/checkout@v4 with: submodules: recursive fetch-depth: 0 - name: Setup Pages id: pages uses: actions/configure-pages@v5 - name: Install Node.js dependencies run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" - name: Build with Hugo env: HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache HUGO_ENVIRONMENT: production TZ: America/Sao_Paulo run: | hugo \ --gc \ --minify \ --baseURL "${{ steps.pages.outputs.base_url }}/" - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./public # Deployment job deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 ================================================ FILE: .gitmodules ================================================ [submodule "themes/PaperMod"] path = themes/PaperMod url = https://github.com/adityatelange/hugo-PaperMod.git ================================================ FILE: Dockerfile ================================================ # Use the official Hugo extended image FROM hugomods/hugo:exts-0.148.2 # Set the working directory inside the container WORKDIR /src # Install git (needed for theme submodules) RUN apk add --no-cache git # Copy the Hugo site files COPY . . # Create an entrypoint script to handle git submodules at runtime RUN echo '#!/bin/sh' > /entrypoint.sh && \ echo 'if [ -d ".git" ] && [ -f ".gitmodules" ]; then' >> /entrypoint.sh && \ echo ' echo "Initializing git submodules..."' >> /entrypoint.sh && \ echo ' git submodule update --init --recursive' >> /entrypoint.sh && \ echo 'fi' >> /entrypoint.sh && \ echo 'exec "$@"' >> /entrypoint.sh && \ chmod +x /entrypoint.sh # Expose the port Hugo will run on EXPOSE 1313 # Use the entrypoint script ENTRYPOINT ["/entrypoint.sh"] # Set the default command to run Hugo server CMD ["hugo", "server", "--bind", "0.0.0.0", "--port", "1313", "--buildDrafts", "--buildFuture", "--disableFastRender", "--baseURL", "http://localhost:1313"] ================================================ FILE: LICENSE ================================================ Creative Commons Legal Code CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. Statement of Purpose The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; ii. moral rights retained by the original author(s) and/or performer(s); iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; v. rights protecting the extraction, dissemination, use and reuse of data in a Work; vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. 4. Limitations and Disclaimers. a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. ================================================ FILE: ProjetoIndividualCarla2023-1.md ================================================ # Trabalho individual de GCES 2023-1 - Turma Carla Os conhecimentos de Gestão de Configuração de Software são fundamentais no ciclo de vida de um produto de software. As técnicas para a gestão vão desde o controle de versão, automação de build e de configuração de ambiente, testes automatizados, isolamento do ambiente até o deploy do sistema. Todo este ciclo nos dias de hoje são integrados em um pipeline de DevOps com as etapas de Integração Contínua (CI) e Deploy Contínuo (CD) implementadas e automatizada. Para exercitar estes conhecimentos, neste trabalho, você deverá aplicar os conceitos estudados ao longo da disciplina no produto de software contido neste repositório. O sistema se trata de uma biblioteca python para executar pipelines de dados de forma customizável em bancos de dados. Para executar a aplicação em sua máquina, basta seguir o passo-a-passo descritos abaixo. # Resumo da aplicação As aplicações disponíveis são códigos gerados a partir de pesquisas. Ou seja, os algoritmos são excelentes, a engenharia de software nem tanto. Entao vamos contribuir para a pesquisa mundial! Escolha seu projeto e configure o pipeline! # Etapas do Trabalho O trabalho deve ser elaborado através de etapas. Cada uma das etapas deve ser realizada em um commit separado com o resultado funcional desta etapa. As etapas de 1 a 3 são relacionadas ao isolamento do ambiente utilizando a ferramenta Docker e Docker Compose. Neste sentido o tutorial abaixo cobre os conceitos fundamentais para o uso destas tecnologias. [Tutorial de Docker](https://github.com/FGA-GCES/Workshop-Docker-Entrega-01/tree/main/tutorial_docker) As etapas de 4 e 5 são relacionadas à configuração do pipeline de CI e CD. [Tutorial CI - Gitlab](https://github.com/FGA-GCES/Workshop-CI-Entrega-02/tree/main/gitlab-ci_tutorial) ## Containerização do Banco A primeira etapa do trabalho é de configurar um container somente para o banco de dados com as credenciais especificadas na descrição da aplicação e testar o funcionamento do mesmo. ## Containerização da aplicação Nesta etapa, a aplicação quanto o banco deverão estar funcionando em containers individuais. Deverá ser utilizado um orquestrador (Docker Compose) para gerenciar comunicação entre os containers além do uso de credenciais, networks, volumes, entre outras configurações necessárias para a correta execução da aplicação. ## Gestão de dependencias e pacotes python Configurar o gerenciador de dependencias e pacotes python, o poetry, para gerar um pacote pip da solução. Publicar a biblioteca https://python-poetry.org ## Documentação automatizada Gerar a documentação da biblioteca de forma automatizada com o sphinx para criar documentação https://www.sphinx-doc.org ## Integração Contínua (CI) Para a realização desta etapa, a aplicação já deverá ter seu ambiente completamente containerizado. Deverá ser utilizada uma ferramenta de Integração Contínua para garantir o build, os testes e o deploy para o https://pypi.org . Esta etapa do trabalho poderá ser realizada utilizado os ambientes de CI do GitLab-CI ou Github Actions. Requisitos da configuração da Integração Contínua (Gitlab ou Github) incluem: Build (Poetry) Test - unitários Lint - Documentação (sphinx) ## Avaliação A avaliação do trabalho será feita à partir da correta implementação de cada etapa. A avaliação será feita de maneira **quantitativa** (se foi realizado a implementação + documentação), e **qualitativa** (como foi implementado, entendimento dos conceitos na prática, complexidade da solução). Para isso, faça os **commits atômicos, bem documentados, completos** a fim de facilitar o entendimento e avaliação do seu trabalho. Lembrando o trabalho é individual. A entrega vai ser o link do repositorio na issue e também uma apresentação de 5 min em sala de aula. **Observações**: 1. A data final de entrega do trabalho é o dia 28/06/2023; 2. O trabalho deve ser desenvolvido em um **repositório PESSOAL e PRIVADO** que deverá ser tornado público somente após a data de entrega do trabalho (no dia 28/06/2023); 3. Cada etapa do trabalho deverá ser entregue em commits progressivos (pendendo ser mais de um commit por etapa); 4. Os **commits devem estar espaçados em dias ao longo do desenvolvimento do trabalho**. Commits feitos todos juntos na data de entrega não serão descontados da nota final. | Item | Peso | |---|---| | 1. Containerização do Banco | 1.0 | | 2. Containerização da biblioteca + Banco | 1.5 | | 3. Publicação da biblioteca | 1.5 | | 4. Documentação automatiza | 1.5 | | 5. Integração Contínua (Build, Test, Lint, documentacao) | 3.0 | | 6. Deploy Contínuo | 1.5 | ## Exemplo de Trabalhos Anteriores Alguns trabalhos de trabalhos anteriores: - [2020/2](https://github.com/FGA-GCES/Trabalho-Individual-2020-2) - [2021/1](https://github.com/FGA-GCES/Workshop-Docker-Entrega-01) - [2021/2](https://github.com/FGA-GCES/Trabalho-Individual-2021-2) ### Requisitos de instação ``` python -m venv env source env/bin/activate pip install -r requirements.txt ``` ### Rodando a aplicação ``` python src/main.py ``` ### Testando ``` pytest --cov ``` # Projetos Disponíveis Abaixo estão disponibilizados os projetos para o trabalho. Cada projeto deve ter, no máximo 2 alunos alocados (o trabalho pode ser feito em dupla). Para fazer esse controle, coloque seu nome e o nome do projeto escolhido na planilha (primeiro a preencher, primeiro servido). - Planilha - [https://docs.google.com/spreadsheets/d/1HlnADGew1it-0cRQyybiZUaQfVzRxH6HHTaD81PVV5s/edit?usp=sharing](https://docs.google.com/spreadsheets/d/1HlnADGew1it-0cRQyybiZUaQfVzRxH6HHTaD81PVV5s/edit?usp=sharing) - BARK AI: but with the ability to use voice cloning on custom audio samples [https://github.com/serp-ai/bark-with-voice-clone](https://github.com/serp-ai/bark-with-voice-clone) - Escolha o projeto da lista - [https://paperswithcode.com/sota](https://paperswithcode.com/sota) Abra o PR ;) - Galera do Decidim - refatorar o pipeline do decidim pro gitlab - [https://gitlab.com/lappis-unb/decidimbr/decidim/-/tree/develop/.github](https://gitlab.com/lappis-unb/decidimbr/decidim/-/tree/develop/.github) ================================================ FILE: Projetos_2021_1.md ================================================ # Projetos 2021/1 A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2021. ## External Secrets Operator - Página de Documentação: https://external-secrets.io - Repositório Oficial: https://github.com/external-secrets/external-secrets - Meta Coach: Lucas Severo ## Kubernetes 1.23 Release Team Shadow applications - pre requisito: confortável em falar ingles - Página de Documentação: https://forms.gle/7As7hacvMhxBQaox8Ref https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ - Repositório Oficial: https://github.com/kubernetes/sig-release/blob/master/release-team/README.md - Meta Coach: Ricardo/Severo - - - ## Projeto: Kubernetes repo: https://github.com/kubernetes/kubernetes Website: http://kubernetes.io/docs Slack: https://kubernetes.slack.com/ - - - ## Projeto: Kubernetes Release team (shadow) Infos: Kubernetes 1.23 Release Team Shadow applications are open and are due by August 13th, 2021.Application Form: https://forms.gle/7As7hacvMhxBQaox8Ref: https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ ## Houdini - Repositório Oficial: https://github.com/houdiniproject/houdini - Meta Coach:Clarissa borges ## KTextEditor / Kate (KDE) - Página de Oficial: https://kate-editor.org/pt-br/ - Repositório Oficial: https://invent.kde.org/utilities/kate - Bug Traker/ Issues: https://bugs.kde.org/describecomponents.cgi?product=kate - Meta Coach: Tomaz Canabrava ## Rasa - Página Oficial: https://rasa.com - Repositório Oficial: https://github.com/RasaHQ - Meta Coach: Arthur Temporim ## RocketChat - Página Oficial: https://rocket.chat - Repositório Oficial: https://github.com/RocketChat - Meta Coach: Djorkaeff Alexandre ## SiGeD - Sistema de Gerenciamento de Demandas - Página de Oficial: https://fga-eps-mds.github.io/2020-2-SiGeD/ - Página de Documentação: https://fga-eps-mds.github.io/2020-2-SiGeD/home/ - Repositório Oficial: https://github.com/fga-eps-mds/2020-2-SiGeD - Meta Coach: Bruno Vidal ## Sistema de Gestão Energética (SIGE) - Página Oficial: http://sige.unb.br - Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI - Meta-Coach: Renato Sampaio ================================================ FILE: Projetos_2021_2.md ================================================ # Projetos 2021/2 A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 2º Semestre de 2021. ## Kubernetes 1.23 Release Team Shadow applications - pre requisito: confortável em falar ingles - Página de Documentação: https://forms.gle/7As7hacvMhxBQaox8Ref https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ - Repositório Oficial: https://github.com/kubernetes/sig-release/blob/master/release-team/README.md - Meta Coach: Ricardo/Severo ## Jandig - Repositório Oficial: https://github.com/memeLab/Jandig - Meta Coach: Pablo / Rodrigo - Fork da equipe: https://github.com/gces-jandig-2020-2/Jandig - Wiki da equipe: https://github.com/gces-jandig-2020-2/Jandig/wiki/ ## Houdini - Repositório Oficial: https://github.com/houdiniproject/houdini - Meta Coach:Clarissa borges ## Debian Image Finder - Repositório Oficial: https://salsa.debian.org/cloud-team/image-finder - Documentação: https://cloud-team.pages.debian.net/image-finder/ - Meta Coach: Arthur Diniz ## KTextEditor / Kate (KDE) - Página de Oficial: https://kate-editor.org/pt-br/ - Repositório Oficial: https://invent.kde.org/utilities/kate - Bug Traker/ Issues: https://bugs.kde.org/describecomponents.cgi?product=kate - Meta Coach: Tomaz Canabrava ## Rasa - Página Oficial: https://rasa.com - Repositório Oficial: https://github.com/RasaHQ - Meta Coach: Arthur Temporim ## SysArq - Sistema de Arquivos da Seção de Arquivo Geral da PCGO - Página de Documentação: [https://fga-eps-mds.github.io/2020-2-SiGeD/home/ ](https://fga-eps-mds.github.io/2021.1-PC-GO1/) - Repositório Oficial: [https://github.com/fga-eps-mds/2020-2-SiGeD](https://github.com/DITGO/2021.1-PC-GO1) - Meta Coach: Bruno Vidal ## Sistema de Gestão Energética (SIGE) - Página Oficial: http://sige.unb.br - Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI - Meta-Coach: Renato Sampaio ================================================ FILE: Projetos_2022_1_Turma_T02.md ================================================ # Projetos 2022/1 - Turma T02 - Prof. Renato Sampaio A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2022. ## Kdenlive (KDE) - Página de Oficial: https://kdenlive.org/en/ - Repositório Oficial: https://invent.kde.org/multimedia/kdenlive - Bug Traker/ Issues: https://bugs.kde.org/buglist.cgi?product=kdenlive - Meta Coach: Farid Abdelnour ## Rocs (KDE) - Página de Oficial: https://apps.kde.org/pt-br/rocs/ - Repositório Oficial: https://invent.kde.org/education/rocs - Meta Coach: Tomaz Canabrava ## SiGeD - Sistema de Gerenciamento de Demandas - Página de Oficial: https://fga-eps-mds.github.io/2020-2-SiGeD/ - Página de Documentação: https://fga-eps-mds.github.io/2020-2-SiGeD/home/ - Repositório Oficial: https://github.com/DITGO - Meta Coach: Bruno Vidal ## Sistema de Gestão Energética (SIGE) - Página Oficial: http://sige.unb.br - Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI - Meta-Coach: Renato Sampaio ## Atlas of Opportunity - Repositório Oficial: https://github.com/gpmc-lab-ufrgs/atlas - Meta-Coach: Leonardo Gomes ================================================ FILE: Projetos_2022_2_Turma_T01.md ================================================ # Projetos 2022/2 - Turma T01 - Profa. Carla Rocha A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2022. ## Kubernets - Página de Documentação: https://forms.gle/7As7hacvMhxBQaox8Ref https://groups.google.com/g/kubernetes-dev/c/1qhV3s9pvKw/m/VzG_E98oBAAJ - Repositório Oficial: https://github.com/kubernetes/sig-release/blob/master/release-team/README.md - repo: https://github.com/kubernetes/kubernetes - Website: http://kubernetes.io/docs - Slack: https://kubernetes.slack.com/ - Meta Coach: Ricardo/Severo/Marcos ## Jandig - Repositório Oficial: https://github.com/memeLab/Jandig - Meta Coach: Pablo / Rodrigo - Fork da equipe: https://github.com/gces-jandig-2020-2/Jandig - Wiki da equipe: https://github.com/gces-jandig-2020-2/Jandig/wiki/ - Meta Coach: Pablo/Rodrigo ## Houdini - Repositório Oficial: https://github.com/houdiniproject/houdini - Meta Coach:Clarissa borges ## Rasa - Página Oficial: https://rasa.com - Repositório Oficial: https://github.com/RasaHQ - Meta Coach: Arthur Temporim # Projetos 2022/2 - Turma T02 - Prof. Renato Coral ## Kdenlive (KDE) - Página de Oficial: https://kdenlive.org/en/ - Repositório Oficial: https://invent.kde.org/multimedia/kdenlive - Bug Traker/ Issues: https://bugs.kde.org/buglist.cgi?product=kdenlive - Meta Coach: Farid Abdelnour ## Rocs (KDE) - Página de Oficial: https://apps.kde.org/pt-br/rocs/ - Repositório Oficial: https://invent.kde.org/education/rocs - Meta Coach: Tomaz Canabrava ## SiGeD - Sistema de Gerenciamento de Demandas - Repositório Oficial: https://github.com/DITGO - Página de Documentação: [https://fga-eps-mds.github.io/2020-2-SiGeD/home/](https://fga-eps-mds.github.io/2021-2-SiGeD-Doc/) - Meta Coach: Bruno Vidal ## Sistema de Gestão Energética (SIGE) - Página Oficial: http://sige.unb.br - Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI - Meta-Coach: Renato Sampaio ## Atlas of Opportunity - Repositório Oficial: https://github.com/gpmc-lab-ufrgs/atlas - Repositório do Backend: https://github.com/gpmc-lab-ufrgs/atlas-backend - Meta-Coach: Leonardo Gomes # Questionário de Seleção de Projetos (Turma Renato Sampaio) https://docs.google.com/forms/d/e/1FAIpQLSfOLfn1xRX9qar0II2TdD1UkBRjkyhskueY80cP0NtDL05rWg/viewform?usp=sf_link ================================================ FILE: Projetos_2023_1.md ================================================ # Projetos 2023/1 - Turma T01 - Profa. Carla Rocha A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2023. ## Decidim O Decidim é uma estrutura de democracia participativa, escrita em Ruby on Rails e originalmente desenvolvida para o website de participação online e offline do governo da cidade de Barcelona. Esforço da comunidade de Software Livre do brasil para adaptar para a realidade brasileira - [https://github.com/decidim/decidim](https://github.com/decidim/decidim) # Stackoverflow Mining Projeto de TCC DA Gabi guedes. Essa solução permite utilizar processamento de linguagem natural para identificar temas recorrentes no stackoverflow. Ainte tem uma etapa manual nesse processo, que é a extração das conversas no stackoverflow. O objetivo é automatizar o pipeline para diversos contextos. - [https://github.com/gianlucascoccia/MSR2021Replication](https://github.com/gianlucascoccia/MSR2021Replication) ## Jandig - Repositório Oficial: https://github.com/memeLab/Jandig - Meta Coach: Pablo / Rodrigo - Fork da equipe: https://github.com/gces-jandig-2020-2/Jandig - Wiki da equipe: https://github.com/gces-jandig-2020-2/Jandig/wiki/ - Meta Coach: Pablo/Rodrigo ## Houdini - Repositório Oficial: [https://github.com/houdiniproject/houdini](https://github.com/houdiniproject/houdini) - Meta Coach:Clarissa borges ## Hygia - projeto de pipeline de machine learning em bancos de dados. - Projeto privado ## Vambora Projeto de MDS para gestão de caronas na fga [https://github.com/fga-eps-mds/2022-2-Vambora](https://github.com/fga-eps-mds/2022-2-Vambora) # Projetos 2023/1 - Turma T02 - Prof. Renato Coral ## Rocs (KDE) - Página de Oficial: https://apps.kde.org/pt-br/rocs/ - Repositório Oficial: https://invent.kde.org/education/rocs - Linguagens: C++ / Framework de UI em QT - Meta Coach: Tomaz Canabrava ## Open Worldwide Application Security Project (OWASP) - Página Oficial: https://owasp.org/projects/ - Projetos Sugeridos: - [Juice Shop](https://owasp.org/www-project-juice-shop/), - [Amass](https://owasp.org/www-project-amass/), - [ZAP](https://www.zaproxy.org/) - Meta-Coach: Vitor Falcão ## SiGeD - Sistema de Gerenciamento de Demandas - Repositório Oficial: https://github.com/DITGO - Repositório de documentação e ISSUES: https://github.com/DITGO/2021-2-SiGeD-Doc/issues - Frontend: React / Backend: Node - Meta Coach: Bruno Vidal ## Sistema de Gestão Energética (SIGE) - Página Oficial: http://sige.unb.br - Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI - Frontend (Quasar / Vue.js) / Backend: DjangoREST - Meta-Coach: Renato Sampaio ## Sistema de Recomendação de Contratos - Repositório Oficial (Somente ISSUES): https://gitlab.com/lappis-unb/projects/contratos-energia - Página de Demonstação do Sistema: http://139.144.169.103/ (usuário: usuario@unb.br, senha: unb) - Frontend (NextJS - React) / Backend: DjangoREST - Meta-Coach: Bruno Felix # Questionário de Seleção de Projetos (Turma Renato Sampaio) [Questionário de Proejtos 2023/1](https://docs.google.com/forms/d/e/1FAIpQLSdHrgMdA8t26XmdCVzb4X41qGqvaVBpyCEQbcIBE5XRoOJ5vQ/viewform) ================================================ FILE: Projetos_2023_2.md ================================================ # Projetos 2023/2 - Prof. Renato Sampaio A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 2º Semestre de 2023. ## Decidim / Brasil Participativo O Decidim é uma estrutura de democracia participativa, escrita em Ruby on Rails e originalmente desenvolvida para o website de participação online e offline do governo da cidade de Barcelona. Esforço da comunidade de Software Livre do brasil para adaptar para a realidade brasileira - Repositório: https://gitlab.com/lappis-unb/decidimbr - Página Oficial: https://brasilparticipativo.presidencia.gov.br/ - Repositório do Upstream: [https://github.com/decidim/decidim](https://github.com/decidim/decidim - Linguagens: Ruby/CSS/JavaScript - Framework Ruby on Rails - Meta Coach: Eduardo Nunes ## Rocs (KDE) - Página de Oficial: https://apps.kde.org/pt-br/rocs/ - Repositório Oficial: https://invent.kde.org/education/rocs - Linguagens: C++ / Framework de UI em QT - Meta Coach: Tomaz Canabrava ## Open Worldwide Application Security Project (OWASP) - Página Oficial: https://owasp.org/projects/ - Projetos Sugeridos: - [Juice Shop](https://owasp.org/www-project-juice-shop/), - [Amass](https://owasp.org/www-project-amass/), - [ZAP](https://www.zaproxy.org/) - Meta-Coach: Vitor Falcão ## SiGeD - Sistema de Gerenciamento de Demandas - Repositório Oficial: https://github.com/DITGO - Repositório de documentação e ISSUES: https://github.com/DITGO/2021-2-SiGeD-Doc/issues - Frontend: React / Backend: Node - Meta Coach: Bruno Vidal ## Sistema de Gestão Energética (SIGE) - Página Oficial: http://sige.unb.br - Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI - Frontend (Quasar / Vue.js) / Backend: DjangoREST - Meta-Coach: Renato Sampaio ## Sistema de Recomendação de Contratos - Repositório Oficial (Somente ISSUES): [https://gitlab.com/lappis-unb/projects/contratos-energia](https://gitlab.com/lappis-unb/projects/mec-energia) - Página de Demonstação do Sistema: http://energia.lappis.rocks (usuário: usuario@unb.br, senha: unb) - Frontend (NextJS - React) / Backend: DjangoREST - Meta-Coach: Bruno Felix ## Debian - Debian: https://wiki.debian.org/Packaging - Meta-Coach: Sérgio Cipriano ## ESO (External Secrets Operator) - Kubernetes - Página Oficial: https://external-secrets.io/latest/ - Repositório: https://github.com/external-secrets/external-secrets - Linguagens: Go - Meta-Coach: Lucas Severo # Questionário de Seleção de Projetos [Questionário de Proejtos 2023/2]() ================================================ FILE: Projetos_2024_1.md ================================================ # Projetos 2024/1 - Prof. Renato Sampaio A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2024. ## Decidim / Brasil Participativo O Decidim é uma estrutura de democracia participativa, escrita em Ruby on Rails e originalmente desenvolvida para o website de participação online e offline do governo da cidade de Barcelona. Esforço da comunidade de Software Livre do brasil para adaptar para a realidade brasileira - Repositório: https://gitlab.com/lappis-unb/decidimbr - Página Oficial: https://brasilparticipativo.presidencia.gov.br/ - Repositório do Upstream: [https://github.com/decidim/decidim](https://github.com/decidim/decidim - Linguagens: Ruby/CSS/JavaScript - Framework Ruby on Rails - Meta Coach: Eduardo Nunes ## Open Worldwide Application Security Project (OWASP) - Página Oficial: https://owasp.org/projects/ - Projetos Sugeridos: - [Juice Shop](https://owasp.org/www-project-juice-shop/), - [Amass](https://owasp.org/www-project-amass/), - [ZAP](https://www.zaproxy.org/) - Meta-Coach: Vitor Falcão ## Sistema de Gestão Energética (SIGE) - Página Oficial: http://sige.unb.br - Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/SIGE - Frontend (Quasar / Vue.js) / Backend: DjangoREST - Meta-Coach: Flávio Vieira ## Sistema de Recomendação de Contratos - Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/mec-energia - Página de Demonstação do Sistema: http://energia.lappis.rocks (usuário: usuario@unb.br, senha: unb) - Frontend (NextJS - React) / Backend: DjangoREST - Meta-Coach: Bruno Felix ## Debian - Debian: https://wiki.debian.org/Packaging - Meta-Coach: Sérgio Cipriano ## ESO (External Secrets Operator) - Kubernetes - Página Oficial: https://external-secrets.io/latest/ - Repositório: https://github.com/external-secrets/external-secrets - Linguagens: Go - Meta-Coach: Lucas Severo # Questionário de Seleção de Projetos [Questionário de Proejtos 2024/1]() ================================================ FILE: Projetos_2024_2.md ================================================ # Projetos 2024/2 A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 2º Semestre de 2024. ## Decidim Awesome O Decidim é uma estrutura de democracia participativa, escrita em Ruby on Rails e originalmente desenvolvida para o website de participação online e offline do governo da cidade de Barcelona. O Decidim Awesome é um módulo que exapnde as funcionalidades do Decidim Esforço da comunidade de Software Livre do brasil para adaptar para a realidade brasileira - Repositório: https://github.com/decidim-ice/decidim-module-decidim_awesome - Linguagens: Ruby/CSS/JavaScript - Framework Ruby on Rails - Meta Coach: Eduardo Nunes ## Decidim GEO Módulo de Mapas para o Decidim - Repositório: https://github.com/octree-gva/decidim-module-geo - Linguagens: Ruby/CSS/JavaScript - Meta Coach: Victor Gonçalves ## Open Worldwide Application Security Project (OWASP) - Página Oficial: https://owasp.org/projects/ - Projetos Sugeridos: - [Juice Shop](https://owasp.org/www-project-juice-shop/), - [Amass](https://owasp.org/www-project-amass/), - [ZAP](https://www.zaproxy.org/) - Meta-Coach: Rodolfo Cabral Neves ## MEPA - Contratos - Sistema de Recomendação de Contratos - Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/mec-energia - Página de Demonstação do Sistema: http://energia.lappis.rocks (usuário: usuario@unb.br, senha: unb) - Frontend (NextJS - React) / Backend: DjangoREST - Meta-Coach: João Victor Correia ## Debian - Debian: https://wiki.debian.org/Packaging - Meta-Coach: Sérgio Cipriano ## ESO (External Secrets Operator) - Kubernetes - Página Oficial: https://external-secrets.io/latest/ - Repositório: https://github.com/external-secrets/external-secrets - Linguagens: Go - Meta-Coach: Lucas Severo # Questionário de Seleção de Projetos [Questionário de Proejtos 2024/2](https://docs.google.com/forms/d/e/1FAIpQLSeBo3YLwzocOBfN-WEzNiUvBw9DZzh_6yEfaFrkc3lydmKL3Q/viewform?usp=sf_link) ================================================ FILE: Projetos_2025_1_Turma_Renato.md ================================================ # Projetos 2025/1 A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2025. ## Open Worldwide Application Security Project (OWASP) - Página Oficial: https://owasp.org/projects/ - Meta-Coach: Rodolfo Cabral Neves ## MEPA - Medição de Energia em Plataforma Aberta - Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/ - Frontend (NextJS - React) / Backend: DjangoREST - Meta-Coach: João Victor Correia ## Debian - Debian: https://wiki.debian.org/Packaging - Meta-Coach: João Nóbrega ## Tainacan - Página Oficial: http://tainacan.org/ - Repositório Oficial: https://github.com/tainacan/tainacan - Canal do Discourse: https://tainacan.discourse.group/ - Meta-Coach: Mateus Luna ## Empurrando Juntas - Página Oficial: https://sobre.ejparticipe.org, https://ej.pencillabs.tec.br - Repositório Oficial: https://gitlab.com/pencillabs/ej - Meta-Coach: Giovanni Giampauli # Questionário de Seleção de Projetos [Questionário de Proejtos 2025/1]() ================================================ FILE: Projetos_2025_2.md ================================================ # Projetos 2025/2 A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 2º Semestre de 2025. ## Open Worldwide Application Security Project (OWASP) - Página Oficial: https://owasp.org/projects/ - Meta-Coach: Rodolfo Cabral Neves ## MEPA - Medição de Energia em Plataforma Aberta - Repositório Oficial: https://gitlab.com/lappis-unb/projetos-energia/ - Frontend (NextJS - React) / Backend: DjangoREST - Meta-Coach: João Victor Correia ## Tainacan - Página Oficial: http://tainacan.org/ - Repositório Oficial: https://github.com/tainacan/tainacan - Canal do Discourse: https://tainacan.discourse.group/ - Meta-Coach: Mateus Luna ## Empurrando Juntas - Página Oficial: https://sobre.ejparticipe.org, https://ej.pencillabs.tec.br - Repositório Oficial: https://gitlab.com/pencillabs/ej - Meta-Coach: Giovanni Giampauli ## É Fake - Pagina oficial : https://think-ads.vercel.app/ - Repositório : https://gitlab.com/lappis-unb/rag - Meta-coach - Leonardo Lago ## GovHub - Página Oficial: https://govhub-br.github.io/gov-hubio/land/dist/index.html - Repositório: https://github.com/orgs/GovHub-br/repositories - Meta-coach: Joao edgwarth ## Oppia - https://github.com/oppia/oppia - www.oppia.org - Sem meta-coach ## Siyuan - https://b3log.org/siyuan/en/ - https://github.com/siyuan-note/siyuan - Sem meta-coach ## Querido Diário – Transparência e Acesso a Dados Públicos # Questionário de Seleção de Projetos [Questionário de Proejtos 2025/2](https://docs.google.com/forms/d/e/1FAIpQLSeGzyAPoGTLECox9NuDtvcsDCB7WW1vQyDbjjp1RlbC_MuWUg/viewform?usp=dialog) ================================================ FILE: Projetos_2026_1.md ================================================ # Projetos 2026/1 A seguir está a lista de projetos, em ordem alfabética, que estarão sendo trabalhando na disciplina ao longo do 1º Semestre de 2026. ## Tainacan - Página Oficial: http://tainacan.org/ - Repositório Oficial: https://github.com/tainacan/tainacan - Canal do Discourse: https://tainacan.discourse.group/ - Meta-Coach: Mateus Luna ## Empurrando Juntas - Página Oficial: https://sobre.ejparticipe.org, https://ej.pencillabs.tec.br - Repositório Oficial: https://gitlab.com/pencillabs/ej - Meta-Coach: Giovanni Giampauli ## É Fake - Pagina oficial : https://think-ads.vercel.app/ - Repositório : https://gitlab.com/lappis-unb/rag - Meta-coach - Leonardo Lago ## GovHub - Página Oficial: https://gov-hub.io/ - Repositório: https://github.com/orgs/GovHub-br/repositories - Meta-coach: Luiza/Lucas [Questionário de Proejtos 2026/1](https://forms.gle/NJZQV35LagJ2FXFh7) # Seminários 2026/1 Os seminários serão realizados em grupos de 5 a 6 pessoas. Cada grupo deverá escolher um tema da lista abaixo e apresentá-lo em sala de aula. Além da apresentação, o grupo deverá planejar a discussão do tema, com perguntas e respostas. O grupo deverá também atualizar a documentação de https://github.com/FGA-GCES/DevOps-Jr-Roadmap abrindo um pull request com as informações do tema escolhido. Deve estar descrito na apresentação o que cada membro do grupo contribuiu para o seminário. A avaliação será feita pelo professor e pelos outros grupos, e a nota será individualizada a partir da contribuição para o seminário. Os textos bases devem ser utilizados para a construçào do material, mas podem ser adicionadas novas referências. ## Temas dos Seminários | Tema do Seminário | Conteúdo a ser Abordado | Texto Base | |------------------|------------------------|------------| | DevOps – RunTime | Operação de sistemas em produção; monitoramento, logging e observabilidade; gestão de incidentes; confiabilidade e performance; feedback contínuo do ambiente de execução para o desenvolvimento. | https://dl.acm.org/doi/pdf/10.1145/3359981 | | DevOps – People | Cultura DevOps; colaboração entre desenvolvimento e operações; equipes multifuncionais; comunicação, confiança e responsabilidade compartilhada; mudança organizacional. | https://dl.acm.org/doi/pdf/10.1145/3359981 | | DevOps – Delivery | Entrega contínua (CI/CD); automação de build, testes e deploy; pipelines de entrega; redução de lead time e risco de release; integração com práticas ágeis. | https://dl.acm.org/doi/pdf/10.1145/3359981 | | DevOps – Processo (2) | Processos DevOps. | https://dl.acm.org/doi/pdf/10.1145/3359981 | | DevOps – Ferramentas | Toolchain DevOps (versionamento, CI, CD, infraestrutura, monitoramento); integração de ferramentas ao longo do ciclo de vida; automação como pilar central. | https://dl.acm.org/doi/pdf/10.1145/3359981 | | DevOps – Estudo de Caso | Análise de implementação real de DevOps; benefícios (frequência de deploy, qualidade, colaboração); desafios organizacionais e técnicos; lições aprendidas. | — | | Chaos Engineering | Engenharia de resiliência; testes em produção; injeção de falhas; sistemas distribuídos; confiabilidade e tolerância a falhas. | https://www.youtube.com/watch?v=Q4nniyAarbs | | DevOps/SRE – SLO | Service Level Objectives (SLO), SLI e SLA; definição de metas de confiabilidade; error budget; métricas de desempenho. | https://sre.google/workbook/implementing-slos/ | | DevOps/SRE – Large System Design | Projeto de sistemas distribuídos em larga escala; trade-offs (consistência, disponibilidade, latência); simplificação de sistemas complexos; boas práticas de arquitetura. | https://sre.google/workbook/non-abstract-design/ | | DevOps/SRE – Release Canário | Estratégias de deploy; canary releases; redução de risco em produção; experimentação controlada; rollback e mitigação de falhas. | https://sre.google/workbook/canarying-releases/ | | DevOps/SRE – Monitoramento | Monitoramento de sistemas; métricas, logs e tracing; definição de alertas; observabilidade como base para operação, diagnóstico e melhoria contínua; correlação entre eventos e análise de incidentes. | https://sre.google/workbook/monitoring/ | | DevOps – Data Pipeline | Arquitetura de pipelines de dados; ingestão, processamento e armazenamento; confiabilidade em pipelines; tolerância a falhas; reprocessamento e consistência de dados; desafios em sistemas distribuídos de dados. | https://sre.google/sre-book/data-processing-pipelines/ | | DevOps/SRE – Integridade dos Dados | Garantia de integridade e consistência de dados; validação, checksums e auditoria; prevenção de corrupção de dados; estratégias de detecção e recuperação; impacto de falhas em larga escala. | https://sre.google/sre-book/data-integrity/ | | DevOps/SRE – Release Engineering | Engenharia de releases; automação de builds e deploys; versionamento e gestão de artefatos; reprodutibilidade; rollback; controle de mudanças em produção; papel do release engineering em organizações modernas. | https://sre.google/sre-book/release-engineering/ | | DevOps/SRE – Kubernetes CRI | Evolução dos runtimes de containers; Container Runtime Interface (CRI); separação entre orquestração e runtime; impacto da saída do Docker no Kubernetes; arquitetura moderna de execução de containers. | https://medium.com/@bytemedaily/docker-is-dead-kubernetes-cri-is-the-new-container-runtime-69901061c9af | | Dependências – Left-Pad | Riscos de dependências externas; fragilidade do ecossistema de pacotes; impacto de remoção de dependências; gestão de versões; necessidade de governança e controle de dependências. | https://en.wikipedia.org/wiki/Npm_left-pad_incident | | Dependências – Apache Struts (Equifax) | Vulnerabilidades em dependências; falhas de atualização de segurança; impacto de vulnerabilidades conhecidas; gestão de patches; consequências organizacionais (caso Equifax). | https://www.beyondtrust.com/pt/blog/entry/9-infosec-lessons-from-the-equifax-data-breach | | Dependências – Supply Chain Attack (SolarWinds) | Ataques à cadeia de suprimentos de software; comprometimento de builds e distribuição; impacto em larga escala; necessidade de segurança em pipelines; confiança em dependências externas. | https://www.fortinet.com/br/resources/cyberglossary/solarwinds-cyber-attack | | Segurança Sociotécnica – Rachel | Segurança como fenômeno sociotécnico; fatores humanos em falhas de sistemas; cultura organizacional e tomada de decisão; impacto de erros humanos em sistemas complexos; análise crítica de incidentes reais. | https://open.spotify.com/episode/6nPX7nFtocIK4Yqz28jQQ8 | ================================================ FILE: README-HUGO.md ================================================ # Hugo Site Setup for GCES Course This repository now includes a Hugo-based website for the "Gerência de Configuração e Evolução de Software" course, automatically deployed to GitHub Pages. ## 🚀 Live Site The site is automatically deployed to: `https://fga-gces.github.io/A-disciplina/` ## 📁 Site Structure ``` ├── content/ │ ├── _index.md # Homepage │ ├── cronograma/ # Schedule section │ ├── slides/ # Slides section │ └── projetos/ # Projects section ├── themes/PaperMod/ # Hugo theme (submodule) ├── .github/workflows/ │ └── hugo.yml # GitHub Actions workflow └── hugo.toml # Hugo configuration ``` ## 🛠 Local Development ### Option 1: Docker (Recommended) #### Prerequisites - Docker - Docker Compose (optional but recommended) #### Quick Start with Docker Compose 1. Clone the repository: ```bash git clone --recursive https://github.com/fga-gces/A-disciplina.git cd A-disciplina ``` 2. Start the development server: ```bash docker-compose up hugo ``` 3. Open your browser to `http://localhost:1313/A-disciplina/` #### Docker Commands ```bash # Build the Docker image docker build -t gces-hugo . # Run development server docker run -p 1313:1313 -v $(pwd):/src gces-hugo # Build production site docker-compose --profile build up hugo-build ``` ### Option 2: Native Hugo #### Prerequisites - Hugo Extended v0.146.0 or higher - Git #### Setup 1. Clone the repository with submodules: ```bash git clone --recursive https://github.com/fga-gces/A-disciplina.git ``` 2. If you already cloned without submodules: ```bash git submodule update --init --recursive ``` 3. Run the development server: ```bash hugo server --buildDrafts ``` 4. Open your browser to `http://localhost:1313/A-disciplina/` ### Adding Content #### New Page ```bash hugo new content/section-name/page-name.md ``` #### New Section 1. Create directory: `content/new-section/` 2. Add `_index.md` file with frontmatter 3. Update navigation in `hugo.toml` if needed ## 🔧 Configuration ### Site Settings Edit `hugo.toml` to modify: - Site title and description - Navigation menu - Theme parameters - Social links ### Theme Customization The site uses the PaperMod theme. Customize by: - Modifying `hugo.toml` parameters - Adding custom CSS in `assets/css/` - Overriding layouts in `layouts/` ## 🚀 Deployment ### Automatic Deployment The site automatically deploys to GitHub Pages when you: 1. Push changes to the `main` or `master` branch 2. The GitHub Actions workflow builds and deploys the site ### Manual Deployment To deploy manually: ```bash hugo --gc --minify ``` ## 📋 GitHub Pages Setup 1. Go to repository Settings → Pages 2. Set Source to "GitHub Actions" 3. The workflow will handle the rest automatically ## 🎨 Theme Features The PaperMod theme includes: - Responsive design - Dark/light mode toggle - Search functionality - Social media links - Reading time estimates - Table of contents - Code syntax highlighting ## 📝 Content Guidelines ### Frontmatter All content files should include: ```yaml --- title: "Page Title" date: 2025-08-14 draft: false --- ``` ### File Organization - Use descriptive filenames - Organize content in logical sections - Keep related files together ## 🔗 Navigation The main navigation is configured in `hugo.toml`: - **Início** - Homepage - **Cronograma** - Class schedule - **Slides** - Lecture slides - **Projetos** - Course projects ## 📚 Course Content Integration The site integrates existing course materials: - Course schedule from README.md - Slides from the `/slides` directory - Project information from various markdown files - Teaching plans and evaluation criteria ## 🐳 Docker Benefits Using Docker for development provides several advantages: - **Consistent Environment**: Same Hugo version across all development machines - **No Local Dependencies**: No need to install Hugo locally - **Easy Setup**: One command to start development - **Isolation**: Doesn't interfere with other projects - **Cross-Platform**: Works on Windows, macOS, and Linux ### Docker Development Workflow 1. **Start Development**: ```bash docker-compose up hugo ``` 2. **Make Changes**: Edit content files - changes are automatically reflected 3. **Build for Production**: ```bash docker-compose --profile build up hugo-build ``` 4. **Stop Development Server**: ```bash docker-compose down ``` ## 🛡 Maintenance ### Regular Tasks - Update Hugo version as needed (update Dockerfile) - Keep theme submodule updated - Review and update content regularly - Monitor GitHub Actions for deployment issues - Rebuild Docker image when Hugo version changes ### Troubleshooting #### Docker Issues - **Port already in use**: - Stop existing Hugo server: `pkill -f "hugo server"` - Or use different port: Change `1313:1313` to `1314:1313` in docker-compose.yml - Access at: `http://localhost:1314/A-disciplina/` - **Container won't start**: Check if port 1313 is already in use - **Theme not loading**: Ensure git submodules are initialized - **Permission issues**: - Restart Docker Desktop - Check file permissions in mounted volumes - On Linux, try with `sudo` - **Build fails**: Check Docker logs with `docker-compose logs hugo` #### General Issues - Check Hugo version compatibility - Verify submodule initialization - Review GitHub Actions logs for deployment issues - Ensure proper frontmatter in content files ## 📞 Support For technical issues with the site: 1. Check GitHub Actions workflow logs 2. Verify Hugo configuration 3. Test locally before pushing changes 4. Review Hugo documentation: https://gohugo.io/ --- **Note**: This Hugo site complements the existing course repository and provides a user-friendly web interface for accessing course materials. ================================================ FILE: README.md ================================================ # Gerência de Configuração Evolução de Software ## Sobre a disciplina Esta disciplina aborda práticas modernas de gerência de configuração de software, com foco em desenvolvimento colaborativo, integração contínua, DevOps e confiabilidade de sistemas. Os estudantes irão trabalhar em projetos reais, utilizando ferramentas e práticas amplamente adotadas na indústria, como Git, CI/CD, containers e automação de ambientes. ## Objetivos de Aprendizagem Ao final da disciplina, o estudante será capaz de: - Gerenciar versões e mudanças em sistemas de software - Configurar pipelines de integração e entrega contínua - Trabalhar de forma colaborativa utilizando Git - Entender e aplicar práticas de DevOps e SRE - Gerenciar dependências e riscos em sistemas reais ## 1 - Tópicos/Ementa - Identificação de configuração (itens e linha-base) - Controle de mudanças e versões - Integração e entrega contínua - Monitoramento do desenvolvimento de software - Gerenciamento do processo de construção/build (mapeamento para ferramentas para ambientes de desenvolvimento e produção) - Pacotes e dependência de software - Princípios e técnicas de manutenção de software - Sustentação de software ## 2 - Plano de Aulas pode atualizar essse plano de ensino para datas começando dia 18.08 e aulas segundas e quartas? # Gerência de Configuração Evolução de Software ## 1 - Tópicos/Ementa - Identificação de configuração (itens e linha-base) - Controle de mudanças e versões - Integração e entrega contínua - Monitoramento do desenvolvimento de software - Gerenciamento do processo de construção/build (mapeamento para ferramentas para ambientes de desenvolvimento e produção) - Pacotes e dependência de software - Princípios e técnicas de manutenção de software - Sustentação de software ## 2 - Plano de Aulas o plano de aula atualizado, com o material apresentado, pode ser acessado em [https://docs.google.com/spreadsheets/d/14hsguuLPxNUtXiXs1SShGePUVlYoembjXXD7sM38J8E/edit?usp=sharing](https://docs.google.com/spreadsheets/d/14hsguuLPxNUtXiXs1SShGePUVlYoembjXXD7sM38J8E/edit?usp=sharing). ## Plano de Aulas 2026 | Data | Dia da Semana | Atividade | | :--------: | :--------: |:------| | 16/03/2026 | Segunda-feira | Apresentação da disciplina
Definição da dinâmica do curso | | 18/03/2026 | Quarta-feira | Aula Assíncrona | | 23/03/2026 | Segunda-feira | Introdução à Gerência de Configuração
- Problema da mudança em software
- Itens de configuração (CIs)
- Baselines
- Rastreabilidade
- Discussão: “o que acontece sem controle de versão?” | | 25/03/2026 | Quarta-feira | Apresentação dos projetos
Definição das equipes | | 30/03/2026 | Segunda-feira | Feriado | | 01/04/2026 | Quarta-feira | Git: commit, branch, merge, rebase
Fluxos: Git Flow, GitHub Flow, Trunk-based | | 06/04/2026 | Segunda-feira | Pull Requests e Code Review
Issues, milestones e project boards
Conventional Commits
Governança em OSS
**Atividade:** Documentar a governança de um projeto OSS | | 08/04/2026 | Quarta-feira | Conceito de CI
Pipeline: build → test → análise
Ferramentas: GitHub Actions, GitLab CI | | 13/04/2026 | Segunda-feira | Show me the code - Sprint 1 | | 15/04/2026 | Quarta-feira | Início Sprint 2
Automação da build
Automação de ambiente | | 20/04/2026 | Segunda-feira | Acompanhamento da Sprint 2 | | 22/04/2026 | Quarta-feira | Problema: “funciona na minha máquina”
Docker
Kubernetes (visão geral)
**Atividade:** Subir aplicação com Docker e versionar ambiente | | 27/04/2026 | Segunda-feira | Show me the code - Sprint 2 | | 29/04/2026 | Quarta-feira | Início Sprint 3 | | 04/05/2026 | Segunda-feira | Kubernetes e Deploy
CD vs Deployment
Estratégias: Blue-Green, Canary
Infraestrutura como código (IaC)
**Atividade:** Discutir riscos de produção | | 06/05/2026 | Quarta-feira | Kubernetes e Deploy (continuação)
Estratégias de deploy e riscos | | 11/05/2026 | Segunda-feira | Show me the code - Sprint 3
Apresentação do trabalho individual | | 13/05/2026 | Quarta-feira | Open Source e Aspectos Legais
Licenças: MIT, Apache, GPL
Governança OSS
Compliance
**Atividade:** Analisar riscos legais | | 18/05/2026 | Segunda-feira | Qualidade e Releases
SemVer
Gestão de releases
Change logs
**Atividade:** Criar release versionada | | 20/05/2026 | Quarta-feira | Acompanhamento do trabalho individual | | 25/05/2026 | Segunda-feira | Entrega do trabalho individual | | 27/05/2026 | Quarta-feira | Início Sprint 4
Clean Code e SOLID | | 01/06/2026 | Segunda-feira | Seminário 01 | | 03/06/2026 | Quarta-feira | Seminário 02 | | 08/06/2026 | Segunda-feira | Show me the code - Sprint 4 | | 10/06/2026 | Quarta-feira | Início Sprint 5
Seminário 03 | | 15/06/2026 | Segunda-feira | Seminário 04 | | 17/06/2026 | Quarta-feira | Seminário 05 | | 22/06/2026 | Segunda-feira | Feriado | | 24/06/2026 | Quarta-feira | Show me the code - Sprint 5 | | 29/06/2026 | Segunda-feira | Sprint de dívidas técnicas | | 01/07/2026 | Quarta-feira | Sprint de dívidas técnicas | | 06/07/2026 | Segunda-feira | Apresentação final dos projetos | | 08/07/2026 | Quarta-feira | Apresentação final dos projetos | | 13/07/2026 | Segunda-feira | Lançamento de notas | | 15/07/2026 | Quarta-feira | Revisão de notas | ## Material de Semestres anteriores [Link para arquivo da Wikiversidade](https://pt.wikiversity.org/wiki/Gerência_de_Configuração_e_Evolução_de_Software#Critérios_de_Avaliação) ## Lista de Projetos 2026/1 [Acesse a lista de Projetos de 2026/1](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2026_1.md) ## Critérios de Avaliação | Nota de Grupo (nota relacionada a participação pessoal)| Peso total 30%| | --- | :---: | | Entregas (commits e funcionalidades) | 15% | | Seminário | 10% | | Apresentação final | 5% | | Nota Individual | Peso total 70% | | --- | :---: | | Trabalhos Individuais* | 30% | | Apresentações individuais (Seminário) | 10% | | Contribuições individuais | 30% | A nota final será a soma da nota individual com a nota de grupo, nas proporções indicadas acima. * Obs: A entrega do Trabalho Individual é obrigatória para a aprovação do aluno. ## Material de Semestres anteriores [Link para arquivo da Wikiversidade](https://pt.wikiversity.org/wiki/Gerência_de_Configuração_e_Evolução_de_Software#Critérios_de_Avaliação) ================================================ FILE: Resultados dos grupos 2021_2.md ================================================ # Resultados dos grupos de 2021-2 ## SIGE | | | |---|---| | Video | https://youtu.be/Mjl6hFUyTrk | | Repositório | https://gitlab.com/sige-2021-2 | | Resultados | https://gitlab.com/sige-2021-2/disciplina/-/blob/main/docs/sprint/resultados.md | ## Debian image-finder | | | |---|---| | Video | https://youtu.be/FyomeLKnQr0 | | Repositório | https://salsa.debian.org/cloud-team/image-finder/ | | Wiki | https://salsa.debian.org/cloud-team/image-finder/-/wikis/Sprints-GCES-2021-2 | ## Kubernetes | | | |---|---| | Video | https://www.youtube.com/watch?v=NX8DgUQNA7M | | Repositório | https://github.com/GCES-Kubernetes-2021-2/kubernetes-docs | | Wiki | https://gces-kubernetes-2021-2.github.io/kubernetes-docs/ | ## Jandig | | | |---|---| | Video | https://www.youtube.com/watch?v=vT-LzO8ai7U | | Repositório | https://github.com/FGA-GCES/Jandig | | Wiki | https://github.com/FGA-GCES/Jandig/wiki | ## Kate | | | |---|---| | Video | https://youtu.be/wq7EJsDqo90 | | Wiki | https://github.com/estevaoreis25/GCES-2021.2-KTextEditor-Kate-KDE-/wiki | ## Houdini | | | |---|---| | Video | https://youtu.be/nGIqaqs3cvg | | Repositório | https://github.com/FGA-GCES/houdini | | Wiki | https://ithaloazevedo.github.io/houdini-wiki/#/README | ## Rasa | | | |---|---| | Video | https://youtu.be/BPahRO5wr4A | | Repositório | https://github.com/FGA-GCES/rasa/issues | | Wiki | https://github.com/FGA-GCES/rasa/wiki/Resumo-2021-2 | ================================================ FILE: archetypes/default.md ================================================ +++ title = '{{ replace .File.ContentBaseName "-" " " | title }}' date = {{ .Date }} draft = true +++ ================================================ FILE: cheklists.md ================================================ # ✅ Checklist do projeto de Gerência de Configuração Evolução de Software ### 📦 Gerência e Controle de Versão - [ ] Repositório público no GitHub/GitLab (com histórico limpo e organizado) - [ ] Uso de `git-flow` ou similar para estratégia de branches - [ ] Versionamento semântico (SemVer) aplicado - [ ] Tags e releases publicados com **Release Notes** claras - [ ] GitHub Actions / GitLab CI configurado com: - [ ] Build automatizado - [ ] Testes automatizados (unitários/integrados) - [ ] Linter (ex: ESLint, Flake8, etc.) - [ ] Validação de segurança e dependências (ex: Dependabot, Snyk) - [ ] Arquivos de configuração de ambiente: `Dockerfile`, `docker-compose.yml`, `.env.example` --- ### 📚 Documentação - [ ] `README.md` completo com: - [ ] Visão geral do projeto (com prints de como funciona o projeto) - [ ] Tecnologias utilizadas - [ ] Como rodar localmente (instalação + execução) - [ ] Como contribuir (passo a passo) - getting started - https://blog.discourse.org/tag/getting-started/ - [ ] Como usar a aplicação (guia de usuário) - https://blog.discourse.org/tag/getting-started/ - [ ] Licença - [ ] `CONTRIBUTING.md` com diretrizes de contribuição - [ ] `CODE_OF_CONDUCT.md` com boas práticas de convivência - [ ] `CHANGELOG.md` com histórico de alterações - [ ] gitpage com: - [ ] Landing page - visão de produto - ex: https://www.discourse.org/ - [ ] Arquitetura da solução - [ ] Roadmap e backlog público - [ ] Dicionário de dados (se aplicável) - [ ] Documentação técnica de como contribuir (community) --- ### 📢 Comunicação e Comunidade - [ ] Sistema de governança (ex: mantenedores, comitês, votação) - [ ] Templates para issues e pull requests - [ ] Etiquetas (labels) para organizar issues (ex: good first issue, bug, enhancement) - [ ] Agendas públicas de reuniões (caso ocorram) --- ### ⚖️ Licenciamento e Aspectos Legais - [ ] `LICENSE` com licença de software livre (ex: MIT, GPL, Apache 2.0) - [ ] Verificação de licenças das dependências utilizadas - [ ] Termos de uso e política de privacidade (para projetos web/app) --- ### 🧪 Qualidade e Testabilidade - [ ] Cobertura de testes mínima estabelecida e monitorada - [ ] Testes end-to-end automatizados (se aplicável) - [ ] Ferramentas de análise estática de código - [ ] Monitoramento de qualidade com badges (ex: Codecov, SonarCloud) --- ### 📈 Sustentabilidade e Crescimento - [ ] Roadmap público com funcionalidades desejadas - [ ] Planejamento de onboarding de novos contribuidores (documentacao de onboarding) --- ### 🛠️ Infraestrutura e Deploy (Opcional) - [ ] Deploy automatizado (CI/CD) para ambiente de homologação/produção - [ ] Infraestrutura como código (IaC) para ambientes cloud (ex: Terraform, Ansible) - [ ] Observabilidade básica: logs, métricas e alertas (ex: Prometheus, Grafana, Sentry) ================================================ FILE: content/_index.md ================================================ --- title: "Gerência de Configuração e Evolução de Software" date: 2025-08-14 draft: false --- # Gerência de Configuração e Evolução de Software Bem-vindos à disciplina de **Gerência de Configuração e Evolução de Software** da UnB/FGA. ## Sobre a Disciplina Esta disciplina aborda os principais conceitos e práticas de gerência de configuração e evolução de software, incluindo: - Identificação de configuração (itens e linha-base) - Controle de mudanças e versões - Integração e entrega contínua - Monitoramento do desenvolvimento de software - Gerenciamento do processo de construção/build - Pacotes e dependência de software - Princípios e técnicas de manutenção de software - Sustentação de software ## Professora **Prof. Carla Rocha** ## Navegação - [📅 Cronograma de Aulas](/cronograma/) - [📊 Slides das Aulas](/slides/) - [🚀 Projetos](/projetos/) ## Período Atual: 2025.2 **Período:** 18/08/2025 a 06/12/2025 **Dias da semana:** Segundas e Quartas-feiras ## Avaliação A disciplina é composta por: - **Projeto em Grupo** (70% da nota) - **Trabalho Individual** (30% da nota) Para mais detalhes sobre a metodologia e critérios de avaliação, consulte o cronograma completo. ================================================ FILE: content/cronograma/_index.md ================================================ --- title: "Cronograma de Aulas" date: 2025-08-14 draft: false --- # Cronograma de Aulas – 2025.2 **Disciplina:** Gerência de Configuração e Evolução de Software **Professora:** Carla Rocha **Período:** 18/08/2025 a 06/12/2025 **Dias da semana:** Segundas e Quartas-feiras | Data | Dia da Semana | Aula | |------------|-----------------|----------------------------------------------------------------------| | 18/08/2025 | Segunda-feira | Apresentação da disciplina / Dinâmica do curso / Introdução à Gerência de Configuração | | 20/08/2025 | Quarta-feira | Apresentação dos Projetos / Questionário de Perfil das Equipes | | 25/08/2025 | Segunda-feira | Desenvolvimento colaborativo / Definição das equipes | | 27/08/2025 | Quarta-feira | Revisão de Git avançado | | 01/09/2025 | Segunda-feira | Início da configuração dos ambientes dos projetos | | 03/09/2025 | Quarta-feira | Acompanhamento de configuração dos projetos | | 08/09/2025 | Segunda-feira | Planejamento ágil / Backlog | | 10/09/2025 | Quarta-feira | Automação da Build | | 15/09/2025 | Segunda-feira | Configuração de Ambiente | | 17/09/2025 | Quarta-feira | **Release I** | | 22/09/2025 | Segunda-feira | Acompanhamento | | 24/09/2025 | Quarta-feira | Aula: DevOps | | 29/09/2025 | Segunda-feira | Projeto Individual | | 01/10/2025 | Quarta-feira | Acompanhamento | | 06/10/2025 | Segunda-feira | Aula: Isolamento de Ambiente | | 08/10/2025 | Quarta-feira | Aula: Orquestradores / Kubernetes | | 13/10/2025 | Segunda-feira | **FERIADO** – Nossa Senhora Aparecida (transferido) | | 15/10/2025 | Quarta-feira | Enunciado do Trabalho Individual | | 20/10/2025 | Segunda-feira | Aula: Licenças de software livre / Copyright, patentes e aspectos legais | | 22/10/2025 | Quarta-feira | Palestra 1 | | 27/10/2025 | Segunda-feira | **Release II** | | 29/10/2025 | Quarta-feira | Acompanhamento | | 03/11/2025 | Segunda-feira | Entrega Trabalho Individual | | 05/11/2025 | Quarta-feira | Aula: Clean Code / SOLID | | 10/11/2025 | Segunda-feira | Acompanhamento | | 12/11/2025 | Quarta-feira | Dívidas Técnicas dos Projetos | | 17/11/2025 | Segunda-feira | Dívidas Técnicas dos Projetos / Fechamento | | 19/11/2025 | Quarta-feira | **Release III** | | 24/11/2025 | Segunda-feira | **FERIADO** – Dia da Consciência Negra (ponto facultativo) | | 26/11/2025 | Quarta-feira | Reserva para reposição / ajustes finais | ## Critérios de Avaliação ### Projeto em Grupo (70%) - **Release I** - 20% - **Release II** - 25% - **Release III** - 25% ### Trabalho Individual (30%) - **Trabalho Individual** - 30% ## Observações - As datas podem sofrer alterações conforme necessário - Acompanhe os anúncios para possíveis mudanças no cronograma - Releases são marcos importantes de entrega dos projetos ================================================ FILE: content/projetos/_index.md ================================================ --- title: "Projetos" date: 2025-08-14 draft: false --- # Projetos da Disciplina Esta seção contém informações sobre os projetos desenvolvidos ao longo dos semestres na disciplina de Gerência de Configuração e Evolução de Software. ## Projetos por Semestre ### 2025.1 - [🚀 Projetos 2025.1 - Turma Renato](../Projetos_2025_1_Turma_Renato.md) ### 2025.2 - [🚀 Projetos 2025.2](../Projetos_2025_2.md) ### 2024 - [🚀 Projetos 2024.1](../Projetos_2024_1.md) - [🚀 Projetos 2024.2](../Projetos_2024_2.md) ### 2023 - [🚀 Projetos 2023.1](../Projetos_2023_1.md) - [🚀 Projetos 2023.2](../Projetos_2023_2.md) ### 2022 - [🚀 Projetos 2022.1 - Turma T02](../Projetos_2022_1_Turma_T02.md) - [🚀 Projetos 2022.2 - Turma T01](../Projetos_2022_2_Turma_T01.md) ### 2021 - [🚀 Projetos 2021.1](../Projetos_2021_1.md) - [🚀 Projetos 2021.2](../Projetos_2021_2.md) - [📊 Resultados dos grupos 2021.2](../Resultados%20dos%20grupos%202021_2.md) ## Trabalho Individual ### Exemplo de Projeto Individual - [📝 Projeto Individual Carla 2023.1](../ProjetoIndividualCarla2023-1.md) ## Metodologia dos Projetos Os projetos da disciplina seguem uma metodologia baseada em: 1. **Desenvolvimento Colaborativo**: Trabalho em equipes utilizando práticas de desenvolvimento ágil 2. **Releases Incrementais**: Entregas em marcos específicos (Release I, II e III) 3. **Integração Contínua**: Implementação de pipelines de CI/CD 4. **Configuração de Ambiente**: Setup de ambientes de desenvolvimento e produção 5. **Qualidade de Software**: Aplicação de princípios de código limpo e SOLID ## Critérios de Avaliação ### Projeto em Grupo (70%) - **Release I** (20%): Configuração inicial e setup do projeto - **Release II** (25%): Implementação de funcionalidades core - **Release III** (25%): Finalização e entrega completa ### Trabalho Individual (30%) - Projeto individual focado em aspectos específicos da disciplina ## Recursos Adicionais - [📋 Checklists](../cheklists.md) - Lista de verificação para os projetos - [📚 Plano de Ensino](../plano-ensino-carla.md) - Detalhes completos da disciplina ## Observações - Todos os projetos devem ser desenvolvidos utilizando controle de versão (Git) - É obrigatório o uso de práticas de integração contínua - Os projetos devem demonstrar a aplicação dos conceitos aprendidos em aula ================================================ FILE: content/slides/_index.md ================================================ --- title: "Slides das Aulas" date: 2025-08-14 draft: false --- # Slides das Aulas Aqui você encontra todos os slides utilizados nas aulas da disciplina de Gerência de Configuração e Evolução de Software. ## Material Disponível ### Conceitos Fundamentais - [📊 Conceitos de GCS - Introdução](../slides/01%20-%20Conceitos%20de%20GCS%20-%20Introdução.pdf) - [📊 Controle de Versão](../slides/02%20-%20Controle%20de%20Versão.pdf) - [📊 Integração Contínua](../slides/03%20-%20Continous%20Integration.pdf) ### Ferramentas e Práticas - [📊 Git - Controle de Versão](../slides/2020-04-02_git.pdf) - [📊 Automação da Build](../slides/Automação%20da%20Build.pdf) - [📊 Automação da Configuração do Ambiente](../slides/Automação%20da%20Configuração%20do%20Ambiente.pdf) ### DevOps e Infraestrutura - [📊 DevOps](../slides/2020-04-16_DevOps.pdf) - [📊 Isolamento de Ambiente - Docker](../slides/Isolamento%20de%20Ambiente%20-%20Docker.pdf) - [📊 Gerência De Configuração de Software & Integração Contínua](../slides/Gerência%20De%20Configuração%20de%20Software%20&%20Integração%20Contínua.pdf) ### Qualidade de Software - [📊 Clean Code - Slides](../slides/Slides%20-%20Clean%20Code.pdf) - [📊 SOLID - Princípios](../slides/Slides%20-%20SOLID.pdf) - [📊 Código Limpo - Artigos WSL2012](../slides/Codigo%20Limpo%20-%20Artigos-WSL2012.pdf) - [📊 Código Limpo - Monografia](../slides/Codigo%20Limpo%20-%20Monografia.pdf) ### Aspectos Legais - [📊 Licenças - Software Livre](../slides/Licenças%20-%20Software%20Livre.pdf) ## Como Usar 1. Clique nos links acima para baixar os slides 2. Os slides estão em formato PDF 3. Recomenda-se revisar os slides antes e depois das aulas 4. Use os slides como material de apoio para os projetos ## Observações - Todos os slides são de autoria da Prof. Carla Rocha - Material atualizado regularmente conforme o andamento do curso - Para dúvidas sobre o conteúdo, utilize os canais de comunicação da disciplina ================================================ FILE: diario-bordo.md ================================================ # Diário de Bordo – \[Nome do(a) Aluno(a)] **Disciplina:** \[Nome da disciplina] **Equipe:** \[Nome/Identificação da equipe] **Comunidade/Projeto de Software Livre:** \[Nome do projeto/comunidade] --- ## Sprint 1 – \[Data início – Data fim] ### Resumo da Sprint Breve descrição das atividades e reflexões. ### Atividades Realizadas | Data | Atividade | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status | | ----- | ------------------------------------------- | --------------------------------- | --------------- | --------- | | 20/08 | Configuração inicial do ambiente | Código | – | Concluído | | 22/08 | Leitura e estudo da documentação do projeto | Estudo | \[link wiki] | Concluído | | 24/08 | Abertura de issue para bug em módulo X | Discussão | \[link issue] | Concluído | ### Maiores Avanços * \[Exemplo] Aprendi a rodar a aplicação localmente. * \[Exemplo] Entendi melhor a organização do repositório. ### Maiores Dificuldades * \[Exemplo] Ambiente demorou para configurar por falta de dependências. ### Aprendizados * Uso básico de GitHub Issues. * Fluxo de contribuição do projeto. ### Plano Pessoal para a Próxima Sprint * [ ] Contribuir com pelo menos 1 PR. * [ ] Participar da revisão de código de um colega. --- ## Sprint 2 – \[Data início – Data fim] ### Resumo da Sprint Breve descrição. ### Atividades Realizadas | Data | Atividade | Tipo | Link/Referência | Status | | ----- | --------------------------- | ------- | --------------- | --------- | | 03/09 | Implementação da função Y | Código | \[link PR] | Concluído | | 05/09 | Revisão de PR de colega | Revisão | \[link PR] | Concluído | | 08/09 | Atualização de documentação | Doc | \[link wiki] | Parcial | ### Maiores Avanços * \[Exemplo] Primeiro PR aceito pela comunidade. ### Maiores Dificuldades * Dificuldade com testes automatizados. ### Aprendizados * Melhoria no uso de Git (branches, rebase). * Importância de escrever commits claros. ### Plano Pessoal para a Próxima Sprint * [ ] Melhorar conhecimento em testes. * [ ] Aprofundar em Docker para rodar ambiente completo. --- ## Sprint 3 – \[Data início – Data fim] *(Repete-se a mesma estrutura, até o final da disciplina.)* ================================================ FILE: docker-compose.yml ================================================ version: '3.8' services: hugo: build: . ports: - "1314:1313" volumes: - .:/src - /src/public - /src/resources environment: - HUGO_ENVIRONMENT=development command: hugo server --bind 0.0.0.0 --port 1313 --buildDrafts --buildFuture --disableFastRender --baseURL http://localhost:1314 restart: unless-stopped hugo-build: build: . volumes: - .:/src environment: - HUGO_ENVIRONMENT=production command: hugo --gc --minify profiles: - build ================================================ FILE: hugo.toml ================================================ baseURL = 'https://fga-gces.github.io/A-disciplina/' languageCode = 'pt-br' title = 'Gerência de Configuração e Evolução de Software' theme = 'PaperMod' [params] description = "Disciplina de Gerência de Configuração e Evolução de Software - UnB/FGA" author = "Prof. Carla Rocha" ShowReadingTime = true ShowShareButtons = false ShowPostNavLinks = true ShowBreadCrumbs = true ShowCodeCopyButtons = true ShowWordCount = true ShowRssButtonInSectionTermList = true UseHugoToc = true disableSpecial1stPost = false disableScrollToTop = false comments = false hidemeta = false hideSummary = false showtoc = false tocopen = false [params.homeInfoParams] Title = "Gerência de Configuração e Evolução de Software" Content = "Bem-vindos à disciplina de Gerência de Configuração e Evolução de Software da UnB/FGA. Aqui você encontrará todo o material do curso, incluindo slides, projetos e cronograma de aulas." [[params.socialIcons]] name = "github" url = "https://github.com/fga-gces/A-disciplina" [menu] [[menu.main]] identifier = "home" name = "Início" url = "/" weight = 10 [[menu.main]] identifier = "cronograma" name = "Cronograma" url = "/cronograma/" weight = 20 [[menu.main]] identifier = "slides" name = "Slides" url = "/slides/" weight = 30 [[menu.main]] identifier = "projetos" name = "Projetos" url = "/projetos/" weight = 40 [markup] [markup.goldmark] [markup.goldmark.renderer] unsafe = true ================================================ FILE: plano-ensino-carla.md ================================================ # Gerência de Configuração Evolução de Software ## 1 - Tópicos/Ementa - Identificação de configuração (itens e linha-base) - Controle de mudanças e versões - Integração e entrega contínua - Monitoramento do desenvolvimento de software - Gerenciamento do processo de construção/build (mapeamento para ferramentas para ambientes de desenvolvimento e produção) - Pacotes e dependência de software - Princípios e técnicas de manutenção de software - Sustentação de software ## 2 - Plano de Aulas ## Plano de Aulas – 2025.1 **Disciplina:** Gerência de Configuração e Evolução de Software **Período:** 24/03/2025 a 26/07/2025 **Dias da semana:** Segundas e Quartas-feiras | Data | Dia da Semana | Aula | |------------|------------------|----------------------------------------------------------------------| | 24/03/2025 | Segunda-feira | Apresentação da disciplina / Dinâmica do curso / Introdução à Gerência de Configuração | | 26/03/2025 | Quarta-feira | Apresentação dos Projetos / Questionário de Perfil das Equipes | | 31/03/2025 | Segunda-feira | Desenvolvimento colaborativo /Definição das equipes | | 02/04/2025 | Quarta-feira | Revisão de Git avançado | | 07/04/2025 | Segunda-feira | Início da configuração dos ambientes dos projetos | | 09/04/2025 | Quarta-feira | Acompanhamento de configuração dos projetos | | 14/04/2025 | Segunda-feira | Planejamento ágil / Backlog | | 16/04/2025 | Quarta-feira | Automação da Build | | 23/04/2025 | Quarta-feira | Configuração de Ambiente | | 28/04/2025 | Segunda-feira | **Release I** | | 30/04/2025 | Quarta-feira | Acompanhamento | | 05/05/2025 | Segunda-feira | Aula: DevOps | | 07/05/2025 | Quarta-feira | Projeto Individual | | 12/05/2025 | Segunda-feira | Acompanamento | | 14/05/2025 | Quarta-feira | Aula: Isolamento de Ambiente | | 19/05/2025 | Segunda-feira | Aula: Orquestradores / Kubernetes | | 21/05/2025 | Quarta-feira | Enunciado do Trabalho Individual | | 26/05/2025 | Segunda-feira | Aula: Licenças de software livre / Copyright, patentes e aspectos legais | | 28/05/2025 | Quarta-feira | Palestra 1 | | 02/06/2025 | Segunda-feira | **ReleaseII** | | 04/06/2025 | Quarta-feira | Acompanhamento | | 09/06/2025 | Segunda-feira | Entrega Trabalho Individual | | 11/06/2025 | Quarta-feira | Aula: Clean Code / SOLID | | 16/06/2025 | Segunda-feira | Acompanhamento | | 18/06/2025 | Quarta-feira | Dívidas Técnicas dos Projetos | | 23/06/2025 | Segunda-feira | Dívidas Técnicas dos Projetos / Fechamento | | 25/06/2025 | Quarta-feira | **Release III** | ## Critérios de Avaliação - Nota de Grupo - nota relacionada a entrega coletiva da entrega no projeto | Nota de Grupo | Peso total 30%| | --- | :---: | | Entregas (commits e funcionalidades) | 15% | | Apresentações (Clean Code e SOLID) | 10% | | Apresentação | 5% | - Nota Individual - nota relacionada a entrega individual no projeto quanto o trabalho individual | Nota Individual | Peso total 70% | | --- | :---: | | Trabalho Individual* | 35% | | Contribuições individuais | 35% | - Release I - Checklist de software livre + roadmap do que vai ser feito + ambiente rodando - Checklist de Software livre: gitpage de produto + documentação técnica da comunidade + templates + códigos de conduta, etc. É esperado que esses artefatos estejam em uma primeira versão. Docker, docker, compose, integração contínua, testes automatizados. - Roadmap do projeto: dependencias escolhidas, como a funcionalidade nova estará na arquitetura, epicos, features e estorias de usuário documentados no github issues. - Configuração de ambiente: o ambiente funcionando em todas as máquinas, o readme atualizado com os passos para subir o ambiente e a nova funcionalidade iniciado os experimentos/implementação. - Release II - Andamento do projeto: o que já foi implementado, ajustes no roadmap e decisoes de gces. Gestão de riscos - Release III - Entrega final. Post mortem do projeto, e roadmap ainda a ser feito (revisado). A nota final será a soma da nota individual com a nota de grupo, nas proporções indicadas acima. * Obs: A entrega do Trabalho Individual é obrigatória para a aprovação do aluno. ## Material de Semestres anteriores [Link para arquivo da Wikiversidade](https://pt.wikiversity.org/wiki/Gerência_de_Configuração_e_Evolução_de_Software#Critérios_de_Avaliação) ## Lista de Projetos 2024/1 [Acesse a lista de Projetos de 2024/2](https://github.com/FGA-GCES/A-disciplina/blob/master/Projetos_2024_2.md) ================================================ FILE: public/404.html ================================================ 404 Page not found | Gerência de Configuração e Evolução de Software
404
================================================ FILE: public/assets/css/stylesheet.8fe10233a706bc87f2e08b3cf97b8bd4c0a80f10675a143675d59212121037c0.css ================================================ /* PaperMod v8+ License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE Copyright (c) 2020 nanxiaobei and adityatelange Copyright (c) 2021-2025 adityatelange */ :root{--gap:24px;--content-gap:20px;--nav-width:1024px;--main-width:720px;--header-height:60px;--footer-height:60px;--radius:8px;--theme:rgb(255, 255, 255);--entry:rgb(255, 255, 255);--primary:rgb(30, 30, 30);--secondary:rgb(108, 108, 108);--tertiary:rgb(214, 214, 214);--content:rgb(31, 31, 31);--code-block-bg:rgb(28, 29, 33);--code-bg:rgb(245, 245, 245);--border:rgb(238, 238, 238)}.dark{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--code-bg)}.dark.list{background:var(--theme)}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--primary)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:18px;line-height:1.6;word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}a{text-decoration:none}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{outline:0}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}.not-found{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;height:80%;font-size:160px;font-weight:700}.archive-posts{width:100%;font-size:16px}.archive-year{margin-top:40px}.archive-year:not(:last-of-type){border-bottom:2px solid var(--border)}.archive-month{display:flex;align-items:flex-start;padding:10px 0}.archive-month-header{margin:25px 0;width:200px}.archive-month:not(:last-of-type){border-bottom:1px solid var(--border)}.archive-entry{position:relative;padding:5px;margin:10px 0}.archive-entry-title{margin:5px 0;font-weight:400}.archive-count,.archive-meta{color:var(--secondary);font-size:14px}.footer,.top-link{font-size:12px;color:var(--secondary)}.footer{max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:calc((var(--footer-height) - var(--gap))/2)var(--gap);text-align:center;line-height:24px}.footer span{margin-inline-start:1px;margin-inline-end:1px}.footer span:last-child{white-space:nowrap}.footer a{color:inherit;border-bottom:1px solid var(--secondary)}.footer a:hover{border-bottom:1px solid var(--primary)}.top-link{visibility:hidden;position:fixed;bottom:60px;right:30px;z-index:99;background:var(--tertiary);width:42px;height:42px;padding:12px;border-radius:64px;transition:visibility .5s,opacity .8s linear}.top-link,.top-link svg{filter:drop-shadow(0 0 0 var(--theme))}.footer a:hover,.top-link:hover{color:var(--primary)}.top-link:focus,#theme-toggle:focus{outline:0}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:calc(var(--nav-width) + var(--gap) * 2);margin-inline-start:auto;margin-inline-end:auto;line-height:var(--header-height)}.nav a{display:block}.logo,#menu{display:flex;margin:auto var(--gap)}.logo{flex-wrap:inherit}.logo a{font-size:24px;font-weight:700}.logo a img,.logo a svg{display:inline;vertical-align:middle;pointer-events:none;transform:translate(0,-10%);border-radius:6px;margin-inline-end:8px}button#theme-toggle{font-size:26px;margin:auto 4px}body.dark #moon{vertical-align:middle;display:none}body:not(.dark) #sun{display:none}#menu{list-style:none;word-break:keep-all;overflow-x:auto;white-space:nowrap}#menu li+li{margin-inline-start:var(--gap)}#menu a{font-size:16px}#menu .active{font-weight:500;border-bottom:2px solid}.lang-switch li,.lang-switch ul,.logo-switches{display:inline-flex;margin:auto 4px}.lang-switch{display:flex;flex-wrap:inherit}.lang-switch a{margin:auto 3px;font-size:16px;font-weight:500}.logo-switches{flex-wrap:inherit}.main{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height));max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}.page-header h1{font-size:40px}.pagination{display:flex}.pagination a{color:var(--theme);font-size:13px;line-height:36px;background:var(--primary);border-radius:calc(36px/2);padding:0 16px}.pagination .next{margin-inline-start:auto}.social-icons a{display:inline-flex;padding:10px}.social-icons a svg{height:26px;width:26px}code{direction:ltr}div.highlight,pre{position:relative}.copy-code{display:none;position:absolute;top:4px;right:4px;color:rgba(255,255,255,.8);background:rgba(78,78,78,.8);border-radius:var(--radius);padding:0 5px;font-size:14px;user-select:none}div.highlight:hover .copy-code,pre:hover .copy-code{display:block}.first-entry{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:320px;margin:var(--gap)0 calc(var(--gap) * 2)}.first-entry .entry-header{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.first-entry .entry-header h1{font-size:34px;line-height:1.3}.first-entry .entry-content{margin:14px 0;font-size:16px;-webkit-line-clamp:3}.first-entry .entry-footer{font-size:14px}.home-info .entry-content{-webkit-line-clamp:unset}.post-entry{position:relative;margin-bottom:var(--gap);padding:var(--gap);background:var(--entry);border-radius:var(--radius);transition:transform .1s;border:1px solid var(--border)}.post-entry:active{transform:scale(.96)}.tag-entry .entry-cover{display:none}.entry-header h2{font-size:24px;line-height:1.3}.entry-content{margin:8px 0;color:var(--secondary);font-size:14px;line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entry-footer{color:var(--secondary);font-size:13px}.entry-link{position:absolute;left:0;right:0;top:0;bottom:0}.entry-hint{color:var(--secondary)}.entry-hint-parent{display:flex;justify-content:space-between}.entry-cover{font-size:14px;margin-bottom:var(--gap);text-align:center}.entry-cover img{border-radius:var(--radius);width:100%;height:auto}.entry-cover a{color:var(--secondary);box-shadow:0 1px 0 var(--primary)}.page-header,.post-header{margin:24px auto var(--content-gap)}.post-title{margin-bottom:2px;font-size:40px}.post-description{margin-top:10px;margin-bottom:5px}.post-meta,.breadcrumbs{color:var(--secondary);font-size:14px;display:flex;flex-wrap:wrap;align-items:center}.post-meta .i18n_list li{display:inline-flex;list-style:none;margin:auto 3px;box-shadow:0 1px 0 var(--secondary)}.breadcrumbs a{font-size:16px}.post-content{color:var(--content)}.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin:24px 0 16px}.post-content h1{margin:40px auto 32px;font-size:40px}.post-content h2{margin:32px auto 24px;font-size:32px}.post-content h3{font-size:24px}.post-content h4{font-size:16px}.post-content h5{font-size:14px}.post-content h6{font-size:12px}.post-content a,.toc a:hover{box-shadow:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.post-content a code{margin:auto 0;border-radius:0;box-shadow:0 -1px 0 var(--primary)inset}.post-content del{text-decoration:line-through}.post-content dl,.post-content ol,.post-content p,.post-content figure,.post-content ul{margin-bottom:var(--content-gap)}.post-content ol,.post-content ul{padding-inline-start:20px}.post-content li{margin-top:5px}.post-content li p{margin-bottom:0}.post-content dl{display:flex;flex-wrap:wrap;margin:0}.post-content dt{width:25%;font-weight:700}.post-content dd{width:75%;margin-inline-start:0;padding-inline-start:10px}.post-content dd~dd,.post-content dt~dt{margin-top:10px}.post-content table{margin-bottom:var(--content-gap)}.post-content table th,.post-content table:not(.highlighttable,.highlight table,.gist .highlight) td{min-width:80px;padding:8px 5px;line-height:1.5;border-bottom:1px solid var(--border)}.post-content table th{text-align:start}.post-content table:not(.highlighttable) td code:only-child{margin:auto 0}.post-content .highlight table{border-radius:var(--radius)}.post-content .highlight:not(table){margin:10px auto;background:var(--code-block-bg) !important;border-radius:var(--radius);direction:ltr}.post-content li>.highlight{margin-inline-end:0}.post-content ul pre{margin-inline-start:calc(var(--gap) * -2)}.post-content .highlight pre{margin:0}.post-content .highlighttable{table-layout:fixed}.post-content .highlighttable td:first-child{width:40px}.post-content .highlighttable td .linenodiv{padding-inline-end:0 !important}.post-content .highlighttable td .highlight,.post-content .highlighttable td .linenodiv pre{margin-bottom:0}.post-content code{margin:auto 4px;padding:4px 6px;font-size:.78em;line-height:1.5;background:var(--code-bg);border-radius:2px}.post-content pre code{display:grid;margin:auto 0;padding:10px;color:#d5d5d6;background:var(--code-block-bg) !important;border-radius:var(--radius);overflow-x:auto;word-break:break-all}.post-content blockquote{margin:20px 0;padding:0 14px;border-inline-start:3px solid var(--primary)}.post-content hr{margin:30px 0;height:2px;background:var(--tertiary);border:0}.post-content iframe{max-width:100%}.post-content img{border-radius:4px;margin:1rem 0}.post-content img[src*="#center"]{margin:1rem auto}.post-content figure.align-center{text-align:center}.post-content figure>figcaption{color:var(--primary);font-size:16px;font-weight:700;margin:8px 0 16px}.post-content figure>figcaption>p{color:var(--secondary);font-size:14px;font-weight:400}.toc{margin:0 2px 40px;border:1px solid var(--border);background:var(--code-bg);border-radius:var(--radius);padding:.4em}.dark .toc{background:var(--entry)}.toc details summary{cursor:zoom-in;margin-inline-start:10px;user-select:none}.toc details[open] summary{cursor:zoom-out}.toc .details{display:inline;font-weight:500}.toc .inner{margin:5px 20px 0;padding:0 10px;opacity:.9}.toc li ul{margin-inline-start:var(--gap)}.toc summary:focus{outline:0}.post-footer{margin-top:56px}.post-footer>*{margin-bottom:10px}.post-tags{display:flex;flex-wrap:wrap;gap:10px}.post-tags li{display:inline-block}.post-tags a,.share-buttons,.paginav{border-radius:var(--radius);background:var(--code-bg);border:1px solid var(--border)}.post-tags a{display:block;padding:0 14px;color:var(--secondary);font-size:14px;line-height:34px;background:var(--code-bg)}.post-tags a:hover,.paginav a:hover{background:var(--border)}.share-buttons{padding:10px;display:flex;justify-content:center;overflow-x:auto;gap:10px}.share-buttons li,.share-buttons a{display:inline-flex}.share-buttons a:not(:last-of-type){margin-inline-end:12px}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{display:inline-flex;color:var(--secondary);margin-inline-start:8px;font-weight:500;user-select:none}.paginav{display:flex;line-height:30px}.paginav a{padding-inline-start:14px;padding-inline-end:14px;border-radius:var(--radius)}.paginav .title{letter-spacing:1px;text-transform:uppercase;font-size:small;color:var(--secondary)}.paginav .prev,.paginav .next{width:50%}.paginav span:hover:not(.title){box-shadow:0 1px}.paginav .next{margin-inline-start:auto;text-align:right}[dir=rtl] .paginav .next{text-align:left}h1>a>svg{display:inline}img.in-text{display:inline;margin:auto}.buttons,.main .profile{display:flex;justify-content:center}.main .profile{align-items:center;min-height:calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2));text-align:center}.profile .profile_inner{display:flex;flex-direction:column;align-items:center;gap:10px}.profile img{border-radius:50%}.buttons{flex-wrap:wrap;max-width:400px}.button{background:var(--tertiary);border-radius:var(--radius);margin:8px;padding:6px;transition:transform .1s}.button-inner{padding:0 8px}.button:active{transform:scale(.96)}#searchbox input{padding:4px 10px;width:100%;color:var(--primary);font-weight:700;border:2px solid var(--tertiary);border-radius:var(--radius)}#searchbox input:focus{border-color:var(--secondary)}#searchResults li{list-style:none;border-radius:var(--radius);padding:10px;margin:10px 0;position:relative;font-weight:500}#searchResults{margin:10px 0;width:100%}#searchResults li:active{transition:transform .1s;transform:scale(.98)}#searchResults a{position:absolute;width:100%;height:100%;top:0;left:0;outline:none}#searchResults .focus{transform:scale(.98);border:2px solid var(--tertiary)}.terms-tags li{display:inline-block;margin:10px;font-weight:500}.terms-tags a{display:block;padding:3px 10px;background:var(--tertiary);border-radius:6px;transition:transform .1s}.terms-tags a:active{background:var(--tertiary);transform:scale(.96)}.bg{color:#cad3f5;background-color:#24273a}.chroma{color:#cad3f5;background-color:#24273a}.chroma .x{}.chroma .err{color:#ed8796}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#474733}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .line{display:flex}.chroma .k{color:#c6a0f6}.chroma .kc{color:#f5a97f}.chroma .kd{color:#ed8796}.chroma .kn{color:#8bd5ca}.chroma .kp{color:#c6a0f6}.chroma .kr{color:#c6a0f6}.chroma .kt{color:#ed8796}.chroma .n{}.chroma .na{color:#8aadf4}.chroma .nb{color:#91d7e3}.chroma .bp{color:#91d7e3}.chroma .nc{color:#eed49f}.chroma .no{color:#eed49f}.chroma .nd{color:#8aadf4;font-weight:700}.chroma .ni{color:#8bd5ca}.chroma .ne{color:#f5a97f}.chroma .nf{color:#8aadf4}.chroma .fm{color:#8aadf4}.chroma .nl{color:#91d7e3}.chroma .nn{color:#f5a97f}.chroma .nx{}.chroma .py{color:#f5a97f}.chroma .nt{color:#c6a0f6}.chroma .nv{color:#f4dbd6}.chroma .vc{color:#f4dbd6}.chroma .vg{color:#f4dbd6}.chroma .vi{color:#f4dbd6}.chroma .vm{color:#f4dbd6}.chroma .l{}.chroma .ld{}.chroma .s{color:#a6da95}.chroma .sa{color:#ed8796}.chroma .sb{color:#a6da95}.chroma .sc{color:#a6da95}.chroma .dl{color:#8aadf4}.chroma .sd{color:#6e738d}.chroma .s2{color:#a6da95}.chroma .se{color:#8aadf4}.chroma .sh{color:#6e738d}.chroma .si{color:#a6da95}.chroma .sx{color:#a6da95}.chroma .sr{color:#8bd5ca}.chroma .s1{color:#a6da95}.chroma .ss{color:#a6da95}.chroma .m{color:#f5a97f}.chroma .mb{color:#f5a97f}.chroma .mf{color:#f5a97f}.chroma .mh{color:#f5a97f}.chroma .mi{color:#f5a97f}.chroma .il{color:#f5a97f}.chroma .mo{color:#f5a97f}.chroma .o{color:#91d7e3;font-weight:700}.chroma .ow{color:#91d7e3;font-weight:700}.chroma .p{}.chroma .c{color:#6e738d;font-style:italic}.chroma .ch{color:#6e738d;font-style:italic}.chroma .cm{color:#6e738d;font-style:italic}.chroma .c1{color:#6e738d;font-style:italic}.chroma .cs{color:#6e738d;font-style:italic}.chroma .cp{color:#6e738d;font-style:italic}.chroma .cpf{color:#6e738d;font-weight:700;font-style:italic}.chroma .g{}.chroma .gd{color:#ed8796;background-color:#363a4f}.chroma .ge{font-style:italic}.chroma .gr{color:#ed8796}.chroma .gh{color:#f5a97f;font-weight:700}.chroma .gi{color:#a6da95;background-color:#363a4f}.chroma .go{}.chroma .gp{}.chroma .gs{font-weight:700}.chroma .gu{color:#f5a97f;font-weight:700}.chroma .gt{color:#ed8796}.chroma .gl{text-decoration:underline}.chroma .w{}.chroma{background-color:unset !important}.chroma .hl{display:flex}.chroma .lnt{padding:0 0 0 12px}.highlight pre.chroma code{padding:8px 0}.highlight pre.chroma .line .cl,.chroma .ln{padding:0 10px}.chroma .lntd:last-of-type{width:100%}::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-track{background:var(--code-bg)}::-webkit-scrollbar-thumb{background:var(--tertiary);border:5px solid var(--theme);border-radius:var(--radius)}.list:not(.dark)::-webkit-scrollbar-thumb{border:5px solid var(--code-bg)}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}::-webkit-scrollbar:not(.highlighttable,.highlight table,.gist .highlight){background:var(--theme)}.post-content .highlighttable td .highlight pre code::-webkit-scrollbar{display:none}.post-content :not(table) ::-webkit-scrollbar-thumb{border:2px solid var(--code-block-bg);background:#717175}.post-content :not(table) ::-webkit-scrollbar-thumb:hover{background:#a3a3a5}.gist table::-webkit-scrollbar-thumb{border:2px solid #fff;background:#adadad}.gist table::-webkit-scrollbar-thumb:hover{background:#707070}.post-content table::-webkit-scrollbar-thumb{border-width:2px}@media screen and (min-width:768px){::-webkit-scrollbar{width:19px;height:11px}}@media screen and (max-width:768px){:root{--gap:14px}.profile img{transform:scale(.85)}.first-entry{min-height:260px}.archive-month{flex-direction:column}.archive-year{margin-top:20px}.footer{padding:calc((var(--footer-height) - var(--gap) - 10px)/2)var(--gap)}}@media screen and (max-width:900px){.list .top-link{transform:translateY(-5rem)}}@media screen and (max-width:340px){.share-buttons{justify-content:unset}}@media(prefers-reduced-motion){.terms-tags a:active,.button:active,.post-entry:active,.top-link,#searchResults .focus,#searchResults li:active{transform:none}} ================================================ FILE: public/categories/index.html ================================================ Categories | Gerência de Configuração e Evolução de Software
================================================ FILE: public/categories/index.xml ================================================ Categories on Gerência de Configuração e Evolução de Software http://localhost:1313/categories/ Recent content in Categories on Gerência de Configuração e Evolução de Software Hugo -- 0.148.2 pt-br ================================================ FILE: public/cronograma/index.html ================================================ Cronograma de Aulas | Gerência de Configuração e Evolução de Software

Cronograma de Aulas – 2025.2

Disciplina: Gerência de Configuração e Evolução de Software
Professora: Carla Rocha
Período: 18/08/2025 a 06/12/2025
Dias da semana: Segundas e Quartas-feiras

Data Dia da Semana Aula
18/08/2025 Segunda-feira Apresentação da disciplina / Dinâmica do curso / Introdução à Gerência de Configuração
20/08/2025 Quarta-feira Apresentação dos Projetos / Questionário de Perfil das Equipes
25/08/2025 Segunda-feira Desenvolvimento colaborativo / Definição das equipes
27/08/2025 Quarta-feira Revisão de Git avançado
01/09/2025 Segunda-feira Início da configuração dos ambientes dos projetos
03/09/2025 Quarta-feira Acompanhamento de configuração dos projetos
08/09/2025 Segunda-feira Planejamento ágil / Backlog
10/09/2025 Quarta-feira Automação da Build
15/09/2025 Segunda-feira Configuração de Ambiente
17/09/2025 Quarta-feira Release I
22/09/2025 Segunda-feira Acompanhamento
24/09/2025 Quarta-feira Aula: DevOps
29/09/2025 Segunda-feira Projeto Individual
01/10/2025 Quarta-feira Acompanhamento
06/10/2025 Segunda-feira Aula: Isolamento de Ambiente
08/10/2025 Quarta-feira Aula: Orquestradores / Kubernetes
13/10/2025 Segunda-feira FERIADO – Nossa Senhora Aparecida (transferido)
15/10/2025 Quarta-feira Enunciado do Trabalho Individual
20/10/2025 Segunda-feira Aula: Licenças de software livre / Copyright, patentes e aspectos legais
22/10/2025 Quarta-feira Palestra 1
27/10/2025 Segunda-feira Release II
29/10/2025 Quarta-feira Acompanhamento
03/11/2025 Segunda-feira Entrega Trabalho Individual
05/11/2025 Quarta-feira Aula: Clean Code / SOLID
10/11/2025 Segunda-feira Acompanhamento
12/11/2025 Quarta-feira Dívidas Técnicas dos Projetos
17/11/2025 Segunda-feira Dívidas Técnicas dos Projetos / Fechamento
19/11/2025 Quarta-feira Release III
24/11/2025 Segunda-feira FERIADO – Dia da Consciência Negra (ponto facultativo)
26/11/2025 Quarta-feira Reserva para reposição / ajustes finais

Critérios de Avaliação

Projeto em Grupo (70%)

Trabalho Individual (30%)

Observações

================================================ FILE: public/cronograma/index.xml ================================================ Cronograma de Aulas on Gerência de Configuração e Evolução de Software http://localhost:1313/cronograma/ Recent content in Cronograma de Aulas on Gerência de Configuração e Evolução de Software Hugo -- 0.148.2 pt-br ================================================ FILE: public/cronograma/page/1/index.html ================================================ http://localhost:1313/cronograma/ ================================================ FILE: public/index.html ================================================ Gerência de Configuração e Evolução de Software

Gerência de Configuração e Evolução de Software

Bem-vindos à disciplina de Gerência de Configuração e Evolução de Software da UnB/FGA.

Sobre a Disciplina

Esta disciplina aborda os principais conceitos e práticas de gerência de configuração e evolução de software, incluindo:

Professora

Prof. Carla Rocha

Período Atual: 2025.2

Período: 18/08/2025 a 06/12/2025
Dias da semana: Segundas e Quartas-feiras

Avaliação

A disciplina é composta por:

Para mais detalhes sobre a metodologia e critérios de avaliação, consulte o cronograma completo.

Gerência de Configuração e Evolução de Software

Bem-vindos à disciplina de Gerência de Configuração e Evolução de Software da UnB/FGA. Aqui você encontrará todo o material do curso, incluindo slides, projetos e cronograma de aulas.
================================================ FILE: public/index.xml ================================================ Gerência de Configuração e Evolução de Software http://localhost:1313/ Recent content on Gerência de Configuração e Evolução de Software Hugo -- 0.148.2 pt-br ================================================ FILE: public/page/1/index.html ================================================ http://localhost:1313/ ================================================ FILE: public/projetos/index.html ================================================ Projetos | Gerência de Configuração e Evolução de Software

Projetos da Disciplina

Esta seção contém informações sobre os projetos desenvolvidos ao longo dos semestres na disciplina de Gerência de Configuração e Evolução de Software.

Projetos por Semestre

2025.1

2025.2

2024

2023

2022

2021

Trabalho Individual

Exemplo de Projeto Individual

Metodologia dos Projetos

Os projetos da disciplina seguem uma metodologia baseada em:

  1. Desenvolvimento Colaborativo: Trabalho em equipes utilizando práticas de desenvolvimento ágil
  2. Releases Incrementais: Entregas em marcos específicos (Release I, II e III)
  3. Integração Contínua: Implementação de pipelines de CI/CD
  4. Configuração de Ambiente: Setup de ambientes de desenvolvimento e produção
  5. Qualidade de Software: Aplicação de princípios de código limpo e SOLID

Critérios de Avaliação

Projeto em Grupo (70%)

Trabalho Individual (30%)

Recursos Adicionais

Observações

================================================ FILE: public/projetos/index.xml ================================================ Projetos on Gerência de Configuração e Evolução de Software http://localhost:1313/projetos/ Recent content in Projetos on Gerência de Configuração e Evolução de Software Hugo -- 0.148.2 pt-br ================================================ FILE: public/projetos/page/1/index.html ================================================ http://localhost:1313/projetos/ ================================================ FILE: public/sitemap.xml ================================================ http://localhost:1313/cronograma/ 2025-08-14T00:00:00+00:00 http://localhost:1313/ 2025-08-14T00:00:00+00:00 http://localhost:1313/projetos/ 2025-08-14T00:00:00+00:00 http://localhost:1313/slides/ 2025-08-14T00:00:00+00:00 http://localhost:1313/categories/ http://localhost:1313/tags/ ================================================ FILE: public/slides/index.html ================================================ Slides das Aulas | Gerência de Configuração e Evolução de Software

Slides das Aulas

Aqui você encontra todos os slides utilizados nas aulas da disciplina de Gerência de Configuração e Evolução de Software.

Material Disponível

Conceitos Fundamentais

Ferramentas e Práticas

DevOps e Infraestrutura

Qualidade de Software

Aspectos Legais

Como Usar

  1. Clique nos links acima para baixar os slides
  2. Os slides estão em formato PDF
  3. Recomenda-se revisar os slides antes e depois das aulas
  4. Use os slides como material de apoio para os projetos

Observações

================================================ FILE: public/slides/index.xml ================================================ Slides das Aulas on Gerência de Configuração e Evolução de Software http://localhost:1313/slides/ Recent content in Slides das Aulas on Gerência de Configuração e Evolução de Software Hugo -- 0.148.2 pt-br ================================================ FILE: public/slides/page/1/index.html ================================================ http://localhost:1313/slides/ ================================================ FILE: public/tags/index.html ================================================ Tags | Gerência de Configuração e Evolução de Software
================================================ FILE: public/tags/index.xml ================================================ Tags on Gerência de Configuração e Evolução de Software http://localhost:1313/tags/ Recent content in Tags on Gerência de Configuração e Evolução de Software Hugo -- 0.148.2 pt-br ================================================ FILE: slides/Readme.md ================================================ # Slides Os slides apresentados em sala de aula, assim como material de apoio são disponibilizadas na pasta. ================================================ FILE: template-relatorio.md ================================================ # 📝 Relatório de Contribuição – Sprint X **Disciplina:** Gestão de Configuração e Evolução de Software **Equipe:** \[Nome/Identificação da equipe] **Comunidade/Projeto de Software Livre:** \[Nome do projeto/comunidade] **Período da Sprint:** \[Data início – Data fim] --- ## 1. Objetivos da Sprint * [ ] Objetivo 1 planejado * [ ] Objetivo 2 planejado * [ ] Objetivo 3 planejado --- ## 2. Entregas Coletivas | Entrega | Status (Concluído/Parcial/Pendente) | Link/Referência | Observações | | ------------------- | ----------------------------------- | ---------------------- | --------------------------------- | | \[Funcionalidade X] | Concluído | \[link para PR/issue] | Impacto na comunidade | | \[Documento Y] | Parcial | \[link para wiki/repo] | Necessita revisão | | \[Teste Z] | Pendente | – | Bloqueado por dependência externa | --- ## 3. Contribuições Individuais | Integrante | Contribuições | Links (PRs, Issues, Docs) | Observações | | ---------- | ----------------------------------------- | ------------------------- | ----------- | | Nome 1 | Implementou \[feature], abriu \[X issues] | \[link PR] \[link issue] | | | Nome 2 | Revisou PRs, documentou \[tópico] | \[link doc] | | | Nome 3 | Desenvolveu script de automação | \[link repo] | | --- ## 4. Maiores Avanços ✨ **Destaques da Sprint:** * \[Exemplo] Integração bem-sucedida de novo módulo no projeto principal. * \[Exemplo] Equipe estabeleceu fluxo de contribuição alinhado às práticas da comunidade. --- ## 5. Maiores Dificuldades **Principais desafios enfrentados:** * \[Exemplo] Barreiras de comunicação com mantenedores da comunidade. * \[Exemplo] Dificuldade técnica em compreender dependência \[X]. * \[Exemplo] Problemas de coordenação de tempo entre membros. --- ## 6. Lições Aprendidas * \[Exemplo] Importância de abrir issues detalhadas para facilitar revisão. * \[Exemplo] Planejamento coletivo ajudou a reduzir retrabalho. --- ## 7. Planejamento para a Próxima Sprint * [ ] Implementar \[funcionalidade] * [ ] Ampliar cobertura de testes * [ ] Melhorar documentação do processo de contribuição