GitLab
Nesta seção, você encontra como integrar o SCM com o provedor GitLab.
A integração do seu
- Criação de Aplicação;
- Criação de Infraestrutura;
- Aplicação de Plugins;
- Execução de Actions.
Pré-Requisito
1. Criar grupo e projeto GitLab
Para integrar o SCM com a StackSpot, o primeiro passo é ter um repositório próprio da sua organização para as pipelines. Desta forma quando definidas, você poderá acioná-las remotamente via API informando os dados de entrada para cada fluxo.
Você pode utilizar um repositório já existente, ou criar um novo.
Se sua organização não possui um Grupo ou Projeto no GitLab, acesse os guias a seguir para criá-los:
2. Gerar o Personal Access Token no GitLab
- Acesse a sua conta do GitLab e faça o login;
- No menu principal, selecione seu avatar.
- Selecione Edit profile.
- No menu principal, selecione Access Tokens.
- Selecione Add new token.
- Insira um nome e uma data de validade para o token. Se você não inserir uma data de vencimento, a data de vencimento será automaticamente definida para 365 dias depois da data atual.
- Selecione os escopos:
write_repository
;create_runner
;api
;
Os escopos podem depender das atividades que sua empresa precisa executar. Por isso, selecione todos os que são necessários para você. Acesse a lista completa de escopos do GitLab.
- Selecione Create personal access token.
- O código gerado será exibido temporariamente, copie e salve o código gerado.
Configurar as pipelines automaticamente (Recomendado)
Os passos a seguir são feitos via STK CLI;
Passo 1. Execute o comando a seguir:
stk run action stackspot-core/setup-scm
Passo 2. O terminal pergunta qual é o seu provedor SCM. Selecione a opção GitLab.
Passo 3. Responda as seguintes perguntas:
- Personal Access Token: informe o Personal Access Token gerado no GitLab.
- Project name: informe o nome do seu Projeto do GitLab.
- Group Name: informe o nome do seu Grupo do GitLab.
- Is on premise? informe Y (sim) para usar o GitLab On Premise ou N (não), para usar o GitLab na nuvem.
- GitLab api domain: disponível apenas para o GitLab On Premise. Informe a URL do domínio da sua organização no GitLab. Exemplo:
techwriters.gitlab.com
.
Se o repositório informado existir e nele também existir a branch main
, um Pull Request será criado para a main
.
Se o repositório não existir, a Action cria o repositório e a branch main
.
O usuário do token e o próprio Personal Access Token precisam ter permissão de escrita no repositório da organização. Caso o repositório não exista,você deve adicionar a permissão para criar repositórios.
Para mais informações, siga a documentação do GitLab.
Não é o Personal Access Token do Portal.
Pronto, a Action foi executada.
Se a configuração foi executada com sucesso, o próximo passo é fazer a integração do GitLab com a sua conta da StackSpot.
Se não foi possível concluir a configuração de forma automática, siga os passos a seguir para realizar toda a configuração manualmente:
Criar o repositório e pipelines manualmente
Passo 1. No terminal STK CLI. Execute os comandos:
mkdir <repo-name>
cd <repo-name>
Exemplo:
mkdir repo-runner-actions
cd repo-runner-actions
Passo 2. Crie o arquivo ".gitlab-ci.yml" dentro da pasta gerada anteriormente com o seguinte conteúdo:
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "push"
when: never
- when: always
image: ubuntu:latest
stages:
- run
variables:
workflow_name: ""
api_inputs: "{}"
default:
before_script:
- echo "Installing some necessary tools";
- apt-get -qq update;
- apt-get install -y jq curl git;
run:
stage: run
script:
- |
execution_id=$(echo $api_inputs | jq -cr '.execution_id')
secret_stk_login=$(echo $api_inputs | jq -cr '.secret_stk_login')
http_code=$(curl -s -o script.sh -w '%{http_code}' https://workflow-api.v1.stackspot.com/workflows/$execution_id --header "Authorization: Bearer $secret_stk_login";)
if [[ "$http_code" -ne "200" ]]; then
echo "------------------------------------------------------------------------------------------"
echo "---------------------------------------- Debug Starting ----------------------------------"
echo "------------------------------------------------------------------------------------------"
echo "HTTP_CODE:" $http_code
echo "RESPONSE_CONTENT:"
cat script.sh
exit $http_code
echo "------------------------------------------------------------------------------------------"
echo "---------------------------------------- Debug Ending ------------------------------------"
echo "------------------------------------------------------------------------------------------"
else
chmod +x script.sh
echo "------------------------------------------------------------------------------------------"
echo "---------------------------------------- Starting ----------------------------------------"
echo "------------------------------------------------------------------------------------------"
bash script.sh
echo "------------------------------------------------------------------------------------------"
echo "---------------------------------------- Ending ----------------------------------------"
echo "------------------------------------------------------------------------------------------"
fi
Passo 3. Faça o commit das alterações utilizando os comandos:
git init
git remote add origin https://gitlab.com/<gitlab-groupname>/<project-name>.git
git add .
git commit -m "Setup Runner"
git push
Exemplo:
git init
git remote add origin https://gitlab.com/my-group/repo-runner-actions.git
git add .
git commit -m "Setup Runner"
git push
Em alguns SCMs o Project Name e Repository Name podem significar a mesma coisa. Confira a seguir como identificar esses campos na URL:
https://gitlab.com/[GITLAB-GROUP]/[PROJECT-NAME]
Exemplo:
https://gitlab.com/stack-spot/stackspot-workflows-action
Passo 4. Acesse o seu projeto GitLab e siga os passos:
- Acesse Settings e em seguida CI/CD;
- Clique no botão Expand da opção Pipeline trigger tokens;
- Preencha o campo Description em seguida clique no botão Create pipeline trigger token.
Exemplo:

Se a configuração foi executada com sucesso, o próximo passo é fazer a integração do GitLab com a sua conta da StackSpot.
Integrar o GitLab com a StackSpot
Os passos a seguir são feitos no Portal da Conta StackSpot.
Integrar o GitLab (nuvem) com a StackSpot
Configuração via GitLab PAT (Personal Access Token)
Passo 1. Acesse diretamente link do Portal da Conta; ou após fazer login no Portal StackSpot, clique no seu avatar de perfil;
Passo 2. Selecione a opção 'Organização' no menu exibido;
Passo 3. No menu principal do Portal da Conta, selecione o produto StackSpot EDP e clique em ’SCM’. Em seguida, clique no botão Configurar Integração SCM’;
Passo 4. No campo Select a provider, selecione GitLab;
Passo 5. Em Método de autenticação, selecione a opção PAT (Personal Access Token) e preencha os seguintes campos:
- Usuário: O nome do seu usuário no GitLab;
- Token: Utilize o seu Personal Access Token que você gerou anteriormente.
Passo 6. Em Configuração de Workflow, escolha como a organização deseja gerenciar o acesso ao SCM, para isso, habilite ou desabilite a opção 'A organização vai gerenciar o acesso ao SCM via User PAT?':
- Habilitado: O usuário irá gerenciar o acesso ao GitLab via PAT (Personal Access Token).
- Desabilitado: A empresa irá gerenciar o acesso ao GitLab.
Ao habilitar este botão, os membros da sua conta terão que configurar o Acesso de SCM individual deles.
Passo 7. No campo URL do Workflow, insira a URL do repositório criado com as pipelines para a StackSpot identificar onde o seu workflow está configurado. Você vai precisar das seguintes informações para preencher a URL:
https://gitlab.com/<group_name>/<repository_name>?project_id=<project_id>&trigger_id=<trigger_id>
Para obter o as informações para preencher a URL do Workflow, acesse a sua conta do GitLab e siga as instruções para cada item a seguir.
- project id: Acesse a página principal do seu projeto Gitlab. Depois clique no botão 'More actions', você encontrará o project id.

- trigger id: Acesse o seu projeto GitLab e siga os passos:
- Acesse Settings e em seguida CI/CD;
- Clique sobre o texto Pipeline trigger tokens;
- No menu de tokens disponíveis ao lado do novo token, clique com o botão direito do mouse sobre botão 'Revoke trigger' para abrir as opções do seu navegador;
- Em seguida, clique na opção 'Copy Link Address'.
- Abra qualquer editor de texto e cole o endereço do link que você acabou de copiar.
Você vai encontrar no final da Url copiada o valor do 'trigger id':
Exemplo:
# https://gitlab.com/<group_name>/<project_name>/-/triggers/<trigger_id>
https://gitlab.com/techwriters/documentation/-/triggers/1622887

Retorne para o portal da StackSpot e continue a configuração:
Passo 8. Você será redirecionado para a tela de Review. Confira seus dados e clique em 'Integrar com StackSpot'.
Integrar o GitLab (On Premise) com a StackSpot
Configuração via GitLab PAT (Personal Access Token)
Passo 1. Acesse diretamente link do Portal da Conta; ou após fazer login no Portal StackSpot, clique no seu avatar de perfil;
Passo 2. Selecione a opção 'Organização' no menu exibido;
Passo 3. No menu principal do Portal da Conta, selecione o produto StackSpot EDP e clique em ’SCM’. Em seguida, clique no botão Configurar Integração SCM’;
Passo 4. No campo Select a provider, selecione GitLab;
Passo 5. Em Método de autenticação, selecione a opção PAT (Personal Access Token) e preencha os seguintes campos:
- URL do provider: A URL da sua organização no GitLab. Informe sempre a URL com o protocolo
https://
. - Usuário: O nome do seu usuário no GitLab;
- Token: Utilize o seu Personal Access Token que você gerou anteriormente.
Passo 6. Em Configuração de Workflow, escolha como a organização deseja gerenciar o acesso ao SCM, para isso, habilite ou desabilite a opção 'A organização vai gerenciar o acesso ao SCM via User PAT?':
- Habilitado: O usuário irá gerenciar o acesso ao GitLab via PAT (Personal Access Token).
- Desabilitado: A empresa irá gerenciar o acesso ao GitLab.
Ao habilitar este botão, os membros da sua conta terão que configurar o Acesso de SCM individual deles.
Passo 7. No campo URL do Workflow, insira a URL do repositório criado com as pipelines para a StackSpot identificar onde o seu workflow está configurado. Você vai precisar das seguintes informações para preencher a URL:
https://gitlab.com/<group_name>/<repository_name>?project_id=<project_id>&trigger_id=<trigger_id>
Para obter o as informações para preencher a URL do Workflow, acesse a sua conta do GitLab e siga as instruções para cada item a seguir.
- project id: Acesse a página principal do seu projeto Gitlab. Depois clique no botão 'More actions', você encontrará o project id.

- trigger id: Acesse o seu projeto GitLab e siga os passos:
- Acesse Settings e em seguida CI/CD;
- Clique sobre o texto Pipeline trigger tokens;
- No menu de tokens disponíveis ao lado do novo token, clique com o botão direito do mouse sobre botão 'Revoke trigger' para abrir as opções do seu navegador;
- Em seguida, clique na opção 'Copy Link Address'.
- Abra qualquer editor de texto e cole o endereço do link que você acabou de copiar.
Você vai encontrar no final da Url copiada o valor do 'trigger id':
Exemplo:
# https://gitlab.com/<group_name>/<project_name>/-/triggers/<trigger_id>
https://gitlab.com/techwriters/documentation/-/triggers/1622887

Retorne para o portal da StackSpot e continue a configuração:
Passo 8. Você será redirecionado para a tela de Review. Confira seus dados e clique em 'Integrar com StackSpot'.
Pronto, sua configuração está completa.
Esta página foi útil?