Skip to content
Snippets Groups Projects
Commit cfddaae8 authored by Diego Giovane Pasqualin's avatar Diego Giovane Pasqualin
Browse files

Exemplo com make e artefatos

parent 2c72ddab
No related branches found
No related tags found
No related merge requests found
Makefile 0 → 100644
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);
}
hello.o 0 → 100644
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment