{"id":15083553,"url":"https://github.com/marmoroju/windowsserver","last_synced_at":"2026-01-30T23:42:30.849Z","repository":{"id":255871011,"uuid":"847346725","full_name":"Marmoroju/WindowsServer","owner":"Marmoroju","description":"Repositório para configuração de ambiente de teste com Vagrant, Jenkins, Git, SonarQube, SonarScanner em Windows Server","archived":false,"fork":false,"pushed_at":"2024-09-16T23:57:51.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-03T08:46:54.955Z","etag":null,"topics":["git","jenkins","sonarqube","vagrant","windows"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Marmoroju.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T15:10:53.000Z","updated_at":"2024-09-16T23:57:54.000Z","dependencies_parsed_at":"2024-09-07T16:16:42.413Z","dependency_job_id":"7e734e09-c2aa-446c-8eec-9b6c96a37b9b","html_url":"https://github.com/Marmoroju/WindowsServer","commit_stats":{"total_commits":19,"total_committers":2,"mean_commits":9.5,"dds":"0.10526315789473684","last_synced_commit":"3a324e0b6e2941d04c1927c46d41de3e312aad28"},"previous_names":["marmoroju/windowsserver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marmoroju%2FWindowsServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marmoroju%2FWindowsServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marmoroju%2FWindowsServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marmoroju%2FWindowsServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Marmoroju","download_url":"https://codeload.github.com/Marmoroju/WindowsServer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239397420,"owners_count":19631632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","jenkins","sonarqube","vagrant","windows"],"created_at":"2024-09-25T06:02:06.093Z","updated_at":"2025-11-02T16:30:32.113Z","avatar_url":"https://github.com/Marmoroju.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## Links das Documentações \n\nPara provisionar o \"Provider\" do VirtualBox:\n- Link: https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/vboxmanage-modifyvm.html\n\nPara provisionar VM Windows com Vagrantfile:\n- Link: https://developer.hashicorp.com/vagrant/docs/vagrantfile/winrm_settings\n\nPara alterar o espaço em disco após a VM ser criada:\n- Link: https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/vboxmanage-modifymedium.html\n\nPara instalação e configuração do Jenkins:\n- Link: https://www.jenkins.io/doc/book/installing/windows/\n\nPara Download do JDK versão 17 LTS:\n- Link: https://adoptium.net/temurin/releases/?os=windows\u0026version=17\n\nPara Download do Jenkins versão LTS Windows:\n- Link: https://www.jenkins.io/download/\n\nPara instalar e configurar IIS:\n- Link: https://www.youtube.com/watch?v=gK_bLdu-AzI\n\nPara Download do Git:\n- Link: https://git-scm.com/downloads\n\nPara Download do SonarQube\n- Link: https://www.sonarsource.com/products/sonarqube/downloads/\n\nPara Download do SonarScanner\n- Link: https://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner/\n\nPara Documentação do Sonarlint\n- Link: https://docs.sonarsource.com/sonarlint/vs-code/\n\nPara Instalação do Sonarlint no VCcode\n- Link: https://www.youtube.com/watch?v=m8sAdYCIWhY\u0026ab_channel=Sonar\n\nPara Pipeline com Powershell\n- Link: https://www.jenkins.io/blog/2017/07/26/powershell-pipeline/\n\n## Criar do zero uma Box do windows\n1. Baixar a ISO do Windows\n2. Criar VM e instalar a ISO\n3. Alterar nome da VM para VagrantPC ou Vagrant\n4. Criar usuario e senha vagrant\n5. No terminal, navegue até o diretório onde a máquina virtual foi criada.\n6. Opcional: Instalar WinRm e Atualizar o PowerShell para futura configuração do Ansible\n\n7. Execute o seguinte comando para criar a Box do Vagrant:\n- Precisa estar com a VM desligada. Caso contrário o comando irá forçar o desligamento.\n- `vagrant package --base nome_da_sua_vm_no_virtualbox`\n- Isso criará um arquivo package.box no diretório atual.\n- Ex.: `vagrant package --base Vagrant`\n- A exportação da VM é um pouco demorada (Depndendo da configuração do PC).\n- Logo após exportar, será realizada a compressão do arquivo que levará um tempo também.\n- O Arquivo final terá em média 5GB a 6GB mais ou menos.\n\n8. Adicione a box à sua biblioteca do Vagrant:\n- Execute o seguinte comando para adicionar a “box” à sua biblioteca do Vagrant:\n- `vagrant box add windowsserver2019 package.box`\n- Isso adicionará a box do Windows 10 à sua biblioteca LOCAL do Vagrant com o nome windowsserver2019.\n\n9. Crie um Vagrantfile para iniciar a máquina virtual:\n- `vagrant init windowsserver2019`\n\n## Etapas de Configuração e Instalação Manual do Jenkins\n\n### Instalação do Java JDK\n - Essa instalação não será no padrão windows com \"next, next, next\"\n    \n    - Inicie o arquivo JDK \n        - Siga até \"Custom Setup\" par alterar o local e variável de ambiente\n            - Opção \"Set or override JAVA_HOME variable\" \n            - \"Will be installed on local hard drive\"\n            - clicar em \"JDK with Hostspot\" e \"Brownse\"\n                - Alterar o caminho padrão C:\\Program Files\\Eclipse Adoptium\\jdk-11.0.24.8-hotspot\\\n                - Para C:\\tools\\jdk-11.0.24.8-hotspot\\\n         - Next até o final\n\n         - Configuração das Variáveis de Ambiente\n            - Configurações Avançadas do Sistema\n            - Avançado \u003e Variáveis de Ambiente \n                - Localize o JAVA_HOME\n                - Edite o \"valor\" para C:\\tools\\jdk-11.0.24.8-hotspot\\ \n                   \n                - Ainda em JAVA_HOME\n                    - Altere o \"Path\"    \n                    - C:\\tools\\jdk-11.0.24.8-hotspot\\bin\n                    - %JAVA_HOME%\\bin\n\n- Copie e cole no terminal para conferir o retorno das variáveis\n```bash\n    java -version\n```\n \n```bash\n    echo %JAVA_VERSION%\n```\n\n```bash\n    echo %PATH%\n```\n\n### Local Security Policy (Necessário para permissões do Jenkins)\n- Local Policies\n    - User Rights Assignment\n    - Log on as a services\n        - Add User or Group\n        - administrator\n            - Check Names\n            - Apply                              \n### Instalação do Jenkins\n- Será instalado no C:\\tools\\Jenkins\\\n    - Run service as local or domain user:\n        - Adicionar usuário e senha\n        - Porta Padrão 8080\n    - Conferir o caminho\n        - C:\\tools\\jdk-11.0.24.8-hotspot\\\n    - Algumas configurações ainda serão realizadas, por isso o serviço ainda não será iniciado. Para isso:\n        - Clicar em Start Services \n        - Entire feature will be unavailable\n    \n    - Opção 1: Copiar o arquivo jenkins.xml e substituir em C:\\tools\\Jenkins\\\n\n    - Opção 2: Configuração manual do arquivo jenkins.xml \n        - Abrir o local onde o Jenkins foi instalado\n            - C:\\tools\\Jenkins\\\n            - Abrir o arquivo jenkins.xml com algum editor de texto\n            - Substituir na linha 34 (env name)\n            - env name=\"JENKINS_HOME\" value=\"%LocalAppData%\\Jenkins\\.jenkins\"/\n            - env name=\"JENKINS_HOME\" value=\"C:\\data\\jenkins_home\"/\n\n            - Substituir na linha 39 (executable)\n            - C:\\tools\\jdk-11.0.24.8-hotspot\\bin\\java.exe\n            - %JAVA_HOME%\\bin\\java.exe\n\n            - Substituir na linha 40 (arguments)\n            - -Xrs -Xms3g -Xmx3g -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=C:\\tools\\jenkins\\tmp\\ -Dorg.apache.commons.jelly.tags.fmt.timeZone=America/Sao_Paulo -Duser.timezone=America/Sao_Paulo -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar \"C:\\tools\\jenkins\\jenkins.war\" --httpPort=8080 --webroot=\"C:\\tools\\Jenkins\\war\" --pluginroot=\"C:\\tools\\Jenkins\\plugins\"\n\n            - Substituir na linha 58 (pidfile)\n            - C:\\tools\\Jenkins\\jenkins.pid\n\n            - criar pasta tmp em C:\\tools\\Jenkins\\\n            - Reiniciar a VM / Servidor\n\n    - Iniciar o serviço do Jenkins\n        - Services\n        - Start Jenkins\n\n    - Abra o navegador\n    - acesse http://localhost:8080/\n    - Siga as instruções de configuração inicial para alterar senha e instalar os plugins\n\n### Habilitar Jenkins para acesso Externo\n\n- Abrir o Gerenciamento do Firewall\n- Inbound Rules / Regras de Entrada\n- Nova Regra\n- Criar regra para porta 8080\n\n### Instalação do Git\n\n- Pode ser instalado em C:\\tools\\Git\n- Editor padrão deve ser alterado para Notepad++\n- Após alterar o local e editor, basta seguir com \"next, next\"\n\n### Configurar no Jenkins o GIT, JDK e POWERSHELL\n\n- Abra o Jenkins navegador\n\n1. Configuração do Git \n- Acesse: \n    - Gerenciar Jenkins\n    - Tools\n    - Git Installations\n    - Path to Git Executable (Adicione o caminho completo do bin onde foi instalado o git)\n    - C:\\tools\\Git\\bin\\git.exe\n\n2. Acesse a pasta do Git\n    - Dê permissão ao usuário que foi configurado para o Jenkins em sua instalação\n    - Neste caso, vagrant\n\n3. Configuração do JDK  \n- Acesse: \n    - Gerenciar Jenkins\n    - Tools\n    - JDK instalações\n    - Nome \u003e JAVA_HOME\n    - JAVA_HOME \u003e C:\\tools\\jdk-11.0.24.8-hotspot\\   (Local de instalação do JDK)\n\n4. Aplicar e Salvar\n\n5. Os arquivos utilizados nas builds dos pipelines serão armazenadas neste diretório:\n    - C:\\data\\jenkins_home\\workspace\\\n\n6. Instalar PowerShell\n    - Gerenciar Jenkins\n    - Plugins\n    - Extensões Disponíveis\n    - Pesquisar por PowerShell\n\n## Instalação e Configuração do IIS\n\n1. Acesse o Server Manager\n    - Add roles and features\n    - Installation Type \u003e Role-Based...\n    - Server Selection \u003e ...server pool\n    - Server Roles \u003e Web Server (IIS) \u003e Add features\n    - Features \u003e Click Next\n    - Web Server Role (IIS) \u003e Click Next\n        - Role Services \u003e Click Next\n    - Confirmation \u003e Install\n    - Acesse o IP do servidor para conferir\n\n2. Configurar o Local Padrão do Site\n    - Acesse o Server Manager\n    - Tools (Menu superior direito)\n    - Internet Information Services (IIS) Manager\n    - Start Page \u003e Nome_Local \u003e Sites\n    - Default Web Site\n        - Propriedades \u003e Manage Website \u003e Advanced Settings\n            - Mostra o local padrão em \"Physical Path\"\n        - Default Document \u003e Mostra o tipo de arquivo padrão index aceito pelo web-service exposto\n    - Diretório padrão \u003e C:\\inetpub\\wwwroot\n\n## Instalação e Configuração do SonarQube e SonarScanner    \n\n1. Fazer o download do Sonarqube Community\n    - Extrair, copiar e colar na pasta:\n        - C:\\tools\\sonarqube-10.6.0.92116\n    - Acessar pelo Terminal:\n        - C:\\tools\\sonarqube-10.6.0.92116\\bin\\windows-x86-64\n        - Executar o arquivo StartSonar.bat\n    - Acessar no navegdor http://localhost:9000/\n\n2. Instalar o SonarService\n    - Acessar pelo Terminal como Administrador:\n        - C:\\tools\\sonarqube-10.6.0.92116\\bin\\windows-x86-64\n        - Executar o arquivo SonarService.bat\n        - SonarService.bat install\n    - Acesse Gerenciador de Serviços\n        - Abra os Seriços\n        - Inicie o Processo do SonarQube\n\n2. Fazer o download do SonarScanner\n    - Extrair, copiar e colar na pasta:\n        - C:\\tools\\sonar-scanner\n\n3. Instalar SonarScanner no Jenkins\n    - Abrir o Jenkins no navegador\n    - Gerenciar Jenkins\n    - Plugins\n    - Extensões Disponíveis\n    - Pesquisar por SonarQube Scanner  \n    - Foi adidionado -Dhudson.model.UpdateCenter.pluginDownloadReadTimeoutSeconds=120 ao arquivo jenkins.xml, em \"arguments\" para poder instalar o scanner.\n\n5. Habilitar Sonarqube para acesso Externo\n\n- Abrir o Gerenciamento do Firewall\n- Inbound Rules / Regras de Entrada\n- Nova Regra\n- Criar regra para porta 9000   \n\n## Utilização local do SonarScanner e configuração do sonar-scanner.properties\n\nAntes de disparar o sonnar-scanner precisará ser realizada algumas configurações:\n\n1. sonar-scanner.properties:\n`C:\\Local_da_Instalação\\sonar-scanner\\conf`\n\nArquivo Original:\n```bash\n# Configure here general information about the environment, such as the server connection details for example\n# No information about specific project should appear here\n\n#----- SonarQube server URL (default to SonarCloud)\n#sonar.host.url=https://mycompany.com/sonarqube\n\n#sonar.scanner.proxyHost=myproxy.mycompany.com\n#sonar.scanner.proxyPort=8002\n```\n\nAdicionar ao final as configurações do servidor (Senha e Login podem ser passadas como variaveis de ambiente):\n```bash\n# Configure here general information about the environment, such as the server connection details for example\n# No information about specific project should appear here\n\n#----- SonarQube server URL (default to SonarCloud)\n#sonar.host.url=https://mycompany.com/sonarqube\n\n#sonar.scanner.proxyHost=myproxy.mycompany.com\n#sonar.scanner.proxyPort=8002\n\n#Default SonarQube server\nsonar.host.url=http://localhost:9000/\nsonar.login=seu_login\nsonar.password=seu_password\n```\n\n2. Permissões no projeto no SonarQube\n- Criar e acessar o projeto\n    - Project Settings\n    - Permissions\n\n3. Para facilitar, pode ser criado um arquivo .bat na pasta bin do sonar-scanner com o mesmo código gerado no Sonarqube, basta alterar o `-D\"sonar.sources=.\"` com o caminho em que o seu código está, neste caso, está apontando para o workspace do Jenkins. Lembrando sempre de alterar a \\ para /.\n\n4. Além do código gerado pelo projeto do SonarQube, deve ser adicionado um parâmetro após o sonar.sources, que é o `-D\"sonar.projectBaseDir=C:/data/jenkins_home/workspace/jenkins_file/\"`, pois o Sonar-Scanner trabalha com outro diretório padrão, por isso deve ser passado o diretório de onde será analisado o código.\n\nPor exemplo, inicialmente no projeto será gerado um código como esse:\n```bash\nsonar-scanner.bat -D\"sonar.projectKey=app\" -D\"sonar.sources=.\" -D\"sonar.host.url=http://localhost:9000\" -D\"sonar.token=SEU_TOKEN\"\n```\nDepois ele deverá ser adaptado dessa forma para poder criar o arquivo bat, por exemplo.\n```bash\nsonar-scanner.bat -D\"sonar.projectKey=app\" -D\"sonar.sources=C:/data/jenkins_home/workspace/jenkins_file/\" -D\"sonar.projectBaseDir=C:/data/jenkins_home/workspace/jenkins_file/\" -D\"sonar.host.url=http://localhost:9000\" -D\"sonar.token=SEU_TOKEN\"\n```\n\n4. Adicionar em Path nas váriáveis de ambiente, o caminho do bin de onde foi instalado o sonnar-scanner: `C:\\Local_de_instalação\\sonar-scanner\\bin`\n\n### Sonarlint - Extensão VScode\n    \n1. Nas extensões, procurar por Sonarlint e instalar\n\n2. Adicionar ao Sonarqube e configurar com o QualityGate do projeto\n - Na barra lateral aparecerá um ícone com a logo do Sonarlint\n - Clique nele e depois em \"Add SonarQube Connection\" \n - irá pedir a URL \n - Gerar Token\n - Abrirá o navegador solicitando a permissão\n - Salve a Conexão.\n\n3. Connected Mode\n - Crie o projeto no SonarQube \n - Crie o QualityGate\n - Acesse o ícone do SonarLint\n - Faça o bind da pasta do projeto no Sonarqube com a pasta do projeto local.\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarmoroju%2Fwindowsserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarmoroju%2Fwindowsserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarmoroju%2Fwindowsserver/lists"}