Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/robsantossilva/fullcycle-integracao-continua
Integração continua
https://github.com/robsantossilva/fullcycle-integracao-continua
Last synced: about 1 month ago
JSON representation
Integração continua
- Host: GitHub
- URL: https://github.com/robsantossilva/fullcycle-integracao-continua
- Owner: robsantossilva
- Created: 2022-07-15T17:15:01.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2022-07-26T00:54:12.000Z (over 2 years ago)
- Last Synced: 2024-06-19T18:13:38.624Z (6 months ago)
- Language: Go
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Integração continua
É o processo de integrar modificações do codebase de forma contínua e automatizada, evitando assim erros humanos de verificação,
garantindo mais agilidade e segurança no processo de desenvolvimento de um software.### Principais processos
- Execução de testes
- Linter
- Verificação de qualidade de código
- Verificação de segurança
- Geração de artefatos prontos para o processo de deploy
- Identificação da próxima versão a ser gerada no software
- Geração de tags e releases### Status check Github
É a garantia de que uma Pull Request não poderá ser mergeada ao repositório sem antes ter passado pelo processo de CI ou mesmo no processo de Code Review### Ferramentas populares
- Jenkins
- Github Actions
- Circle CI
- AWS Code Build
- Azure DevOps
- Google Cloud Build
- GitLab Pipelines / CI### Github Actions
Automate your worlflow from idea to productionO Github Actions é um automatizador de workflow de desenvolvimento de software.
Ele utiliza os principais eventos gerados pelo GitHub para que possamos executar tarefas dos mais variadostipos, incluindo processos de CI.### Workflow
- São conjunto de processos definidos por você. Ex: Fazer o build + rodar os testes da aplicação
- É possível ter mais do que um workflow por repositório
- Definidos em arquivos ".yml" em .github/workflows
- Possui um ou mais "Jobs"
- É iniciado baseado em eventos do GitHub ou através de agendamento| Evento | Filtros | Ambiente | Ações |
| -------- | -------------------- | --------------- | ------------------------------------------------------------- |
| on: push | branchs:
- master | runs-on: ubuntu | steps:
- uses: action/runs-composer
- run: npm run prod |### Actions
É a ação que de fato será executada em um dos Steps de um Job em um Workflow.
Ela pode ser criada do zero ou ser reutilizada de actions pre-existentes.
**Action pode ser desenvolvida:**
- Javascript
- Docker Imagehttps://docs.github.com/pt/actions/automating-builds-and-tests/about-continuous-integration
### Strategy Matrix
```yaml
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
go: [ '1.14', '1.13' ]
name: Go ${{ matrix.go }} sample
steps:
- uses: actions/checkout@v2
- name: Setup go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- run: go run hello.go
```### Build and push Docker images
https://github.com/marketplace/actions/build-and-push-docker-images### Sonarqube
```bash
docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
```
Once your instance is up and running, Log in to http://localhost:9000 using System Administrator credentials:login: **admin**
password: **admin**```bash
cd gosonar-scanner \
-Dsonar.projectKey=fullcycle-integracao-continua \
-Dsonar.sources=. \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=sqp_89d6f234786694bf82ea88bd9c96acbf80e5e89c
```### SonarCloud