Neste tutorial vamos demonstrar como realizar o deploy automatizado de aplicações Java Standalone utilizando GitHub, GitHub Actions e o Painel ICP.
O processo permite que a cada novo PUSH realizado no repositório, a aplicação seja compilada automaticamente através do Maven ou Gradle, gerando o arquivo .jar e realizando a atualização do ambiente de produção.
Este exemplo é compatível com:
Antes de iniciar, certifique-se de possuir:
Essa etapa é importante porque o ICP precisa ter permissão para acessar os arquivos do seu projeto no GitHub.
O projeto de exemplo utilizado neste tutorial está disponível publicamente no GitHub e pode ser baixado de duas formas:
Opção 1: Download do arquivo ZIP
1. Acesse o repositório:
https://github.com/integratorhostbr/aplicativojava
Clique no botão Code.
3. Clique em Download ZIP.
4. Extraia os arquivos em seu computador.
Opção 2: Clonar utilizando Git
Caso possua o Git instalado, execute:
git clone https://github.com/integratorhostbr/aplicativojava.git
O token funciona como uma “senha segura” que permite ao ICP acessar seu repositório.
Esse token será usado pelo ICP para se conectar ao GitHub. Sem ele, o painel não consegue acessar o projeto nem criar o webhook automaticamente.
Acesse o GitHub pelo url a seguir: https://github.com
3. No menu lateral esquerdo, vá até Developer settings;
4. Clique em Fine-grained tokens;
6. Defina um nome para o Token
No campo Token name, informe um nome que facilite a identificação da finalidade deste token no futuro.
7. Selecione o proprietário do recurso
No campo Resource owner, escolha a conta ou organização que é proprietária do repositório que será utilizado pelo ICP.
8. Configure a validade do Token
No campo Expiration, defina por quanto tempo o token permanecerá ativo.
Você pode escolher um período específico ou configurar uma validade maior para evitar interrupções futuras na integração entre o GitHub e o ICP.
Importante: quando o token expirar, o ICP perderá acesso ao repositório até que um novo token seja configurado.
9. Escolha os repositórios que poderão ser acessados
Na seção Repository access, selecione quais repositórios o ICP poderá utilizar.
Para maior segurança, recomenda-se selecionar apenas os repositórios que serão utilizados na integração, evitando conceder acesso desnecessário a outros projetos.
10. Configure as permissões do repositório
Na seção Permissions, clique em Add permissions para definir quais recursos o token poderá acessar.
As permissões determinam quais operações o ICP poderá executar dentro do GitHub
11. Habilite a permissão de Webhooks
Para que o ICP possa criar e gerenciar automaticamente os Webhooks do GitHub, é obrigatório habilitar a permissão:
Repository permissions → Webhooks → Read and Write
Sem essa permissão, o ICP não conseguirá configurar ou atualizar os Webhooks responsáveis por disparar os deploys automáticos após um git push.
12. Gere o Token
Após revisar todas as configurações e permissões, clique em Generate token.
O GitHub exibirá o token apenas uma única vez. Copie-o imediatamente e armazene-o em local seguro, pois não será possível visualizá-lo novamente posteriormente.
13. Copie e guarde o TOKEN em lugar seguro.
Após criar e copiar o token de acesso no GitHub, o próximo passo é cadastrar essa credencial no Painel ICP. Essa configuração permitirá que o ICP acesse seu repositório, realize os deploys automáticos e gerencie os Webhooks necessários para a integração.
No menu lateral esquerdo do Painel ICP, clique em Configurações.
Nessa área ficam centralizadas todas as configurações globais da plataforma, incluindo integrações com serviços externos.
2. Abra a aba Integrações
Na parte superior da tela, clique na aba Integrações.
Essa seção é responsável por gerenciar as conexões entre o ICP e plataformas de terceiros, como GitHub, permitindo automatizar processos de deploy e atualização de aplicações.
3. Adicione uma nova credencial
Localize a seção GitHub e clique no botão:
+ Adicionar credencial
Uma janela será exibida solicitando os dados da integração.
Nesta etapa, você deverá informar os dados da sua conta GitHub e o token criado anteriormente, permitindo que o ICP estabeleça uma conexão segura com seus repositórios.
Após concluir o cadastro, a credencial ficará disponível para utilização em qualquer aplicação criada no painel, facilitando a configuração de deploys automatizados via GitHub.
4. Defina um nome para a credencial
No campo Nome da Credencial, informe um nome que facilite a identificação desta integração dentro do Painel ICP.
Esse nome será utilizado apenas para organização interna e ajudará a identificar rapidamente qual conta GitHub está vinculada à credencial.
5. Informe o usuário ou organização do GitHub
No campo Usuário GitHub, informe o nome da conta ou organização proprietária do repositório que será utilizado no deploy.
Esse valor deve ser exatamente o mesmo exibido na URL do repositório GitHub.
6. Informe o Token de acesso do GitHub
No campo Token GitHub, cole o Fine-Grained Personal Access Token criado anteriormente.
Esse token permitirá que o ICP acesse seus repositórios de forma segura, sem a necessidade de informar sua senha do GitHub.
7. Informe o repositório GitHub
No campo Repositório, informe a URL completa do projeto que será utilizado para os deploys automáticos.
O ICP utilizará esse endereço para localizar o código-fonte da aplicação.
8. Teste a conexão
Após preencher todas as informações, clique no botão Testar Conexão.
Nesse momento, o ICP realizará uma série de verificações para garantir que a integração está configurada corretamente.
Serão validados os seguintes itens:
Se o token informado é válido;
Se o usuário ou organização existe no GitHub;
Se o repositório informado pode ser acessado;
Se as permissões necessárias foram concedidas ao token;
Se o ICP possui autorização para criar e gerenciar Webhooks.
Se todas as verificações forem concluídas com sucesso, a integração estará pronta para ser utilizada na criação dos deploys automáticos.
1. Acesse o menu Aplicações → Standalone
No menu lateral esquerdo do Painel ICP, localize a seção Aplicações e clique em Standalone.
Nessa área são gerenciadas todas as aplicações Java hospedadas no painel.
Aqui você poderá criar novas aplicações, acompanhar deploys, visualizar logs e gerenciar as configurações do ambiente.
2. Escolha a tecnologia Java
3. Inicie a criação da aplicação
Após acessar a área de aplicações Java, clique no botão Criar, localizado na parte superior da tela.
Esse botão abrirá o assistente de configuração da nova aplicação, onde serão definidos parâmetros como domínio, versão do Java, origem do código-fonte, integração com GitHub e demais configurações necessárias para a publicação do projeto.
A partir das próximas etapas, você informará todos os dados necessários para que o ICP possa criar o ambiente e realizar os deploys automáticos da aplicação.
4. Nome
Informe um nome para identificar a aplicação dentro do Painel ICP.
Exemplo:
java
Este nome será utilizado na listagem de aplicações, logs, containers e monitoramento.
5. Aplicação
Selecione a tecnologia e a versão que serão utilizadas.
Java
25
Neste exemplo será criada uma aplicação Java utilizando o JDK 25.
O Painel ICP utilizará esta informação para selecionar as imagens de runtime e build compatíveis.
6. Ativar o SSL no domínio
Marque a opção: ✅ Ativar SSL
Quando habilitado, o Painel ICP irá gerar automaticamente um certificado SSL para o domínio informado.
Benefícios:
7. Domínio Principal
Informe o domínio ou subdomínio que será utilizado para acessar a aplicação.
Exemplo:
java.mkt-icp.integrator.host
Após a publicação, a aplicação ficará disponível através deste endereço.
Exemplo:
https://java.mkt-icp.integrator.host
8. Arquivos do Projeto
Selecione: ✅ GitHub
Ao escolher esta opção, o código-fonte será obtido diretamente de um repositório GitHub.
O Painel ICP poderá:
9. Credencial do GitHub
Selecione a credencial GitHub previamente cadastrada.
Exemplo:
javastandalone
Esta credencial contém o token de acesso ao GitHub que permitirá ao Painel ICP acessar os repositórios privados ou públicos.
10. Repositório
Informe ou selecione o repositório GitHub.
Exemplo:
integratorhostbr/aplicativojava
Este será o projeto utilizado durante o processo de build e deploy.
11. Branch
Define qual branch será utilizada.
Exemplo:
main
Sempre que ocorrer um push nesta branch, o CI/CD poderá ser acionado.
/
Indica que o projeto está localizado na raiz do repositório.
Caso estivesse dentro de uma subpasta, poderia ser informado algo como:
backend/
ou
api/
12. Porta da aplicação
Porta Interna
8080
Porta utilizada pela aplicação Java.
Exemplo Spring Boot:
server.port=8080
Porta externa
8080
Porta disponibilizada externamente pelo container.
Com acesso externo habilitado, usuários poderão acessar a aplicação através desta porta.
13.Confirme a criação da aplicação
Após revisar todas as configurações, clique em Confirmar.
O ICP iniciará o processo de criação do ambiente, configuração da aplicação e preparação da integração com o GitHub.
Ao final do processo, sua aplicação estará pronta para receber deploys automáticos diretamente do repositório GitHub.
O Painel ICP iniciará o processo de deploy

Ao finalizar temos o resultado de Status Executando
Ao finalizar acesse o domínio que foi definido no passo 7)
Após criar a aplicação JAVA STANDALONE conectar o repositório GitHub ao Painel ICP, o próximo passo é configurar o Webhook.
O Webhook é o mecanismo responsável por informar ao ICP sempre que uma alteração for enviada para o GitHub. Dessa forma, o painel consegue iniciar automaticamente um novo deploy sem necessidade de intervenção manual.
Na prática, o fluxo funciona da seguinte forma:
Desenvolvedor → Git Push → GitHub → Webhook → ICP → Deploy Automático
Sempre que um novo commit for enviado para a branch configurada, o GitHub notificará o ICP, que iniciará automaticamente o processo de atualização da aplicação.
1. Acesse a configuração de Webhook
Na listagem de aplicações, localize a aplicação criada anteriormente e clique no ícone Webhook GitHub.
Esse recurso permite criar e gerenciar automaticamente a integração entre o repositório GitHub e o Painel ICP.
2. Ativar Webhook
Ative a opção:
✅ Ativar Webhook
✅ Reiniciar Após Sincronização
3. Payload URL
Ao habilitar essa configuração, o ICP passará a aceitar notificações enviadas pelo GitHub.
Sem essa opção ativada, mesmo que o Webhook exista no GitHub, os deploys automáticos não serão executados.
4. Content Type
No campo Content Type, utilize o valor:
application/json
Esse é o formato padrão utilizado pelo GitHub para enviar os dados dos eventos ao ICP.
O formato JSON permite que o painel interprete corretamente informações como:
5. Criar o Webhook no GitHub
Após revisar as configurações, clique no botão: Criar no GitHub
O ICP utilizará a credencial configurada anteriormente para acessar o GitHub e criar automaticamente o Webhook no repositório selecionado.
Você não precisará acessar o GitHub manualmente para realizar essa configuração.
O Resultado será:
No seu GITHUB e criada a conexão do Webhook automaticamente, pode ser vista em:
Com a aplicação criada, o repositório conectado e o Webhook configurado, chegou o momento de testar todo o fluxo de integração entre o GitHub e o Painel ICP.
Nesta etapa, você enviará uma alteração para o repositório e acompanhará o processo de CI/CD sendo executado automaticamente.
O fluxo ocorrerá da seguinte forma:
Desenvolvimento → Git Push → GitHub → Webhook → ICP → Deploy Automático
Na sua IDE de desenvolvimento (IntelliJ IDEA, VS Code, Eclipse ou outra de sua preferência), faça uma alteração no projeto e envie-a para o GitHub.
O envio pode ser realizado através da interface gráfica da IDE ou utilizando os comandos Git.
Exemplo:
git add .
git commit -m "Atualização da aplicação"
git push origin main
Ao executar o comando git push, os arquivos serão enviados para o repositório GitHub configurado anteriormente.
2) O GitHub receberá a atualização
Assim que o Push for concluído com sucesso, o GitHub registrará o novo commit na branch configurada.
Nesse momento, o Webhook criado anteriormente será acionado automaticamente.
O GitHub enviará uma notificação para o Painel ICP informando que existe uma nova versão do projeto disponível para publicação.
3) O ICP iniciará o processo de Deploy
Após receber a notificação enviada pelo GitHub, o Painel ICP iniciará automaticamente o processo de atualização da aplicação.
Dependendo da configuração definida para o projeto, o ICP poderá executar etapas como:
.jar;Todo o processo ocorre de forma automática, sem necessidade de acessar o servidor manualmente.
Dessa forma, a cada novo PUSH realizado no GitHub, o ambiente poderá ser atualizado com rapidez, segurança e padronização, seguindo as práticas de Integração Contínua e Entrega Contínua (CI/CD).
O status da execução poderá ser acompanhado diretamente pelo Painel ICP através dos logs de Deploy e Build da aplicação.
4) Acompanhe o processo pelo Painel ICP
Retorne ao Painel ICP e acesse a aplicação criada.Na área de Deploys ou Histórico de Execuções, será possível acompanhar todas as etapas executadas pelo sistema em tempo real.
Você poderá visualizar informações como:
Ao final do processo, o status do deploy será exibido como:
✅ Concluído com sucesso
Sua aplicação já estará utilizando a nova versão enviada para o GitHub.
A partir desse momento, sempre que um novo git push for realizado na branch configurada, o ICP executará automaticamente todo o processo de CI/CD, mantendo sua aplicação sempre atualizada com o código mais recente.
🚀 Resultado Final
Após a configuração completa:
✅ Deploy automático via GitHub
✅ Compilação automática do projeto Java
✅ Atualização automática da aplicação
✅ Redução de falhas operacionais
✅ Integração contínua (CI/CD)
✅ Compatível com Spring Boot, Maven e Gradle
Com isso, toda vez que um novo PUSH for enviado para o branch configurado, o GitHub iniciará automaticamente o processo de build e deploy da aplicação Java no ambiente gerenciado pelo Painel ICP.
Bom uso!