Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • dpasqualin/gitlab-ci-by-example
  • walmes/gitlab-ci-by-example
  • dbf15/gitlab-ci-by-example
  • lmwc14/gitlab-ci-by-example
  • hamer/gitlab-ci-by-example
  • lsa17/gitlab-ci-by-example
  • vsbc14/gitlab-ci-by-example
7 results
Select Git revision
Show changes
Commits on Source (3)
# Exemplo usando make e artifacts.
before_script:
# Vamos precisar do build-essential para compilar
- apt-get update && apt-get install -y build-essential
job1:
script:
# Executa comando make
- make
- build/hello
# Os artefatos são anexados a build e acessíveis na interface do Gitlab.
# Você pode querer anexar binários gerados, arquivos .deb ou qualquer
# coisa que seja fruto da build.
artifacts:
# paths define os diretórios/arquivos que serão arquivados, pode
# colocar uma lista deles.
paths:
- build/
# Também é possível arquivar todos os arquivos não monitorados pelo
# git.
# - untracked: true
tags:
- debian
CC=gcc
CFLAGS=-I.
OBJ = hello.o
BIN = hello
DEST = build
all: hello
mkdir -p $(DEST)
mv $(BIN) $(DEST)
%.o: %.c
$(CC) -c -o $@ $< $(CFLAGS)
$(BIN): $(OBJ)
$(CC) -o $@ $^ $(CFLAGS)
clean:
rm -f $(OBJ)
rm -rf $(DEST)
Esse repositório contém exemplos de uso do sistema de integração contínua do
gitlab.
Cada exemplo encontra-se em um ramo diferente, nomeado como
`exemplo/X`, onde X é um inteiro crescente. Normalmente, quanto maior X, mais
funcionalidades são apresentadas.
Para ver o primeiro exemplo mude para o *branch* `exemplo/1` com o comando abaixo e
abra o arquivo `.gitlab-ci.yml`.
```
git checkout -t origin/exemplo/1
```
Todos os *builds* feitos aparecem no item *Builds*, aba *All*, do menu lateral esquerdo
no Gitlab.
Clique no valor sob a coluna *Status* para ver detalhes do *build*. Repare
no campo *Ref*, que indica o *branch* onde a *build* foi executada.
#include <stdio.h>
int main(int argc, char** argv) {
printf("hello world\n");
return (0);
}
File added
#!/bin/bash
# Script que testa o hello. Esse é só um exemplo, existem inúmeras ferramentas de testes
# por aí, procure não reinventar a roda.
BIN="build/hello"
# Testa se arquivo existe e é executável
if ! test -x $BIN; then
echo "Binário inexistente"
exit 1
fi
# Testa código de retorno
res=$(./$BIN)
ret=$?
echo -n "Testando código de retorno... "
if test $ret -ne 0; then
echo "ERRO: Programa retornou erro $ret: $res"
exit 1
fi
echo "OK"
# Testa valor de retorno
expected="hello world"
echo -n "Testando valor de retorno... "
if test "$res" != "$expected"; then
echo "ERRO: Programa deveria retornar $expected, mas retornou \"$res\"."
exit 1
fi
echo "OK"
# Se chegou até aqui, sucesso!
echo "Todos os testes passaram!"
exit 0