Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
Exemplo Novo Workflow
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
mvrp21
Exemplo Novo Workflow
Commits
69a89acb
Commit
69a89acb
authored
1 year ago
by
mvrp21
Browse files
Options
Downloads
Patches
Plain Diff
Deve funfar
Signed-off-by:
mvrp21
<
mvrp21@inf.ufpr.br
>
parent
690a1489
No related branches found
No related tags found
No related merge requests found
Pipeline
#36303
failed
1 year ago
Stage: build
Stage: test
Stage: deploy
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
.gitlab-ci.yml
+58
-0
58 additions, 0 deletions
.gitlab-ci.yml
with
58 additions
and
0 deletions
.gitlab-ci.yml
0 → 100644
+
58
−
0
View file @
69a89acb
# Eventualmente vou criar um template com tudo bem documentado.
# Isso eh um "rascunho" para eu ver o que funciona melhor e o que nao funciona"
# Isso define os estagios do pipeline.
# Eles serao executados na ordem que voce definir.
stages
:
# TODO: revisar, nao gostei desses nomes nessa ordem
# - builds de teste e deploy deveriam ser diferentes
# - idealmente a homologacao em si deve fazer parte do pipeline
-
build
-
test
-
deploy
# Eu particularmente prefiro agrupar tudo de um estagio em um lugar. Eh mais facil de ver.
Build Job1
:
stage
:
build
script
:
-
echo "Aqui voce roda seu 'npm install' ou seja la qual for sua ferramenta de build."
# Esses nomes "Build Job1", "Test Job X", e etc. sao arbitrarios. Escolha nomes que fazem sentido pra voce.
Build Job2
:
stage
:
build
script
:
-
echo "Isso deve rodar deboa TAMBEM"
-
echo "npm install"
# TODO: Aqui faria mais sentido rodar os testes de integracao, ja que
# cosas como linter rodam antes faz sentido os testes UNITARIOS rodarem antes tambem
Test Job
:
stage
:
test
script
:
-
echo "Coisas como test coverage rodam aqui."
-
echo "No geral, test coverage deveria ser 90%+. Podemos discutir isso eventualmente."
-
echo "Se qualquer comando retornar um exit-code diferente de zero o pipeline cancela"
# --------------------------------------------------------------------------- #
-
echo "Tome MUUUITO cuidado com esses exit-codes."
-
echo "Se o teste falhar mas seu comando retornar zero o pipeline continua."
# --------------------------------------------------------------------------- #
-
echo "npm run test"
# Essa parte depende bastante dos roots.
# Estou ainda pesquisando como facilitar isso, queria deixar bem clean.
# Os fatores que dificultam sao os seguintes:
# - Versionamento (se o repositorio fizer direito da pra dockarizar bonito e isso fica resolvido)
# - Janelas de atualizacao (somente permitir deploy em horarios em que alguem possa verificar que funcionou)
# - Deploy parcial (nao sei explicar isso com poucas palavras ainda)
# - Rollbacks (deu caca no deploy da producao, tem que voltar pra versao anterior com um click)
# - Qualquer coisa que se relacione ao BD, pois ele esta completamente separado da aplicacao.
Deploy Job
:
stage
:
deploy
only
:
-
main
# Da pra ajustar a branch como necessario, pegar um deploy separado para outra maquina por exemplo
script
:
-
echo "Aqui rodaria a parte de deploy. E eh a parte mais chatinha de fazer."
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment