GitLab
Nesta seção, você encontra os passos para integrar o SCM com o provedor GitLab usando o StackSpot Workflow.
A integração do seu
Atualmente, a StackSpot disponibiliza 5 fluxos para execução:
- Criação de Aplicação;
- Criação de Infraestrutura;
- Aplicação de Plugins;
- Execução de Actions;
- Execução de Workflows.
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, selecione seu avatar.
- Clique na opção Edit profile;
- Agora clique no botão de 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 os comandos a seguir:
- Se estiver com um Workspace ativo, use o comando a seguir para sair do Workspace:
stk exit workspace
- Após sair do Workspace, execute o Workflow com o comando a seguir:
stk run workflow stackspot-core/stackspot-setup-scm@3
Passo 2. O terminal pergunta qual é o seu provedor SCM. Selecione a opção gitLab.
Passo 3. Responda as seguintes perguntas:
- Project name: informe o nome do seu Projeto do GitLab.
- Group Name: informe o nome do seu Grupo do GitLab.
- 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. - Personal Access Token: informe o Personal Access Token gerado no GitLab.
- The repository to setup scm already exists? (Y/n): para informar se o repositório da configuração do SCM já existe, responda 'Y' para sim e 'n' para não.
- Want to do the setup in main branch or create a pull request? (Y/n): responda 'Y' para sim e 'n' para não. Ao escolher 'Y' (sim), informe em Target branch a branch usada para criar o pull request ou informe 'n' (não) para manter a configuração na 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ê precisa adicionar a permissão para criar repositórios.
Para mais informações, siga a documentação do GitLab.
Não é o Personal Access Token da sua Conta StackSpot.
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 fazer toda a configuração manualmente:
Criar o repositório e pipelines manualmente
Passo 1. No terminal STK CLI, execute os comandos a seguir:
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:
##
# Always run pipeline except for push events
##
workflow: # https://docs.gitlab.com/ee/ci/yaml/workflow.html#workflow-rules-examples
rules:
- if: $CI_PIPELINE_SOURCE == "push"
when: never
- when: always
image: ubuntu:latest
stages: # List of stages for jobs, and their order of execution
- run
variables:
workflow_name: ""
api_inputs: "{}"
run:
stage: run
script:
- |
cd /tmp
curl -fsSL https://stk.stackspot.com/install.sh | bash
echo "~/.stk/bin" >> $GITHUB_PATH
stk --version
stk upgrade
Passo 3. Faça o commit das alterações utilizando os comandos a seguir:
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 a seção de Settings e, em seguida, CI/CD;
- Clique no botão Expand da opção Pipeline trigger tokens;
- Preencha o campo Description. Depois, 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)
Por segurança, credenciais como o Personal Access Token (PAT) são armazenadas de forma criptografada na StackSpot. Após serem salvos, não é possível consultar ou visualizar novamente essas informações pela plataforma.
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. Clique na opção 'Organização';
Passo 3. No Portal da Conta, clique em 'EDP' e depois clique em 'SCM;
Passo 4. Em seguida, clique no botão Configurar Integração SCM’. 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 a seguir:
- Acesse a seção Settings e, em seguida, CI/CD;
- Clique sobre o texto Pipeline trigger tokens;
- Agora clique np 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.
No final da URL copiada você vai encontrar o valor do 'trigger id':
Exemplo:
# https://gitlab.com/<group_name>/<project_name>/-/triggers/<trigger_id>
https://gitlab.com/techwriters/documentation/-/triggers/1622887
Volte para o Portal da StackSpot e continue a configuração a seguir:
Passo 8. Você será redirecionado para a tela de Review. Confira seus dados e clique no botão '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. Clique na opção 'Organização';
Passo 3. No Portal da Conta, clique em 'EDP' e depois clique em 'SCM;
Passo 4. Em seguida, clique no botão Configurar Integração SCM’. 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 próprio Acesso de SCM.
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 no texto Pipeline trigger tokens;
- Agora clique no 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.
No final da Url copiada você vai encontrar o valor do 'trigger id':
Exemplo:
# https://gitlab.com/<group_name>/<project_name>/-/triggers/<trigger_id>
https://gitlab.com/techwriters/documentation/-/triggers/1622887
Volte para o Portal da StackSpot e continue a configuração a seguir:
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.