├── _2_Bash_Script ├── BASH.md ├── _4_nodejs.sh ├── _3_vs_code.sh ├── _14_AllVersion.sh ├── _7_apache_tomcat.sh ├── _2_git.sh ├── _5_jdk.sh ├── _6_maven.sh ├── _9_postgresql.sh ├── _1_common.sh ├── _8_docker.sh └── _10_sonarQube.sh ├── acilis.txt ├── project1.txt ├── backend.txt ├── TechCareer Bitirme Projesi.pdf ├── _4_Docker ├── Dockers-Workflow-1024x627.png ├── docker-compose.yml ├── deneme.html ├── Dockerfile ├── docker-compose-postgresql.yml ├── docker-compose-mysql.yml ├── docker_install.sh └── Docker_Information.txt ├── frontend.txt ├── .idea ├── misc.xml ├── .gitignore ├── vcs.xml ├── libraries │ └── Tech_5_SpringReact.xml ├── modules.xml └── Techcareer - Middle- DevOps.iml ├── all_project_java_sonarqube ├── _1_spring_react.yml ├── Dockerfile └── _2_sonarqube.yml ├── _5_SonarQube ├── SonarQube_Information.txt ├── sonarqube.sh ├── sonar-project.properties ├── sonarqube_scanner.sh ├── sonarqube.yml ├── Sonar_README.md ├── docker_install.sh └── conf │ ├── wrapper.conf │ └── sonar.properties ├── package.json ├── .gitignore ├── README.md ├── _7_GitLab ├── GitLab_Repository.md └── GİTLAB_README.md ├── _3_Git_GitHub └── 1_Git_Information.txt └── _1_Linux_Ubuntu └── 1_Linux_ubuntu_Information.txt /_2_Bash_Script/BASH.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /acilis.txt: -------------------------------------------------------------------------------- 1 | Sout() 2 | psvm -------------------------------------------------------------------------------- /project1.txt: -------------------------------------------------------------------------------- 1 | 1.satır 2 | 2.satır 3 | 3.satır -------------------------------------------------------------------------------- /backend.txt: -------------------------------------------------------------------------------- 1 | 1.satır 2 | 2.satır 3 | 3.satır 4 | 4.satır 5 | -------------------------------------------------------------------------------- /TechCareer Bitirme Projesi.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hamitmizrak/Techcareer-Middle-DevOps-Subat/HEAD/TechCareer Bitirme Projesi.pdf -------------------------------------------------------------------------------- /_4_Docker/Dockers-Workflow-1024x627.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hamitmizrak/Techcareer-Middle-DevOps-Subat/HEAD/_4_Docker/Dockers-Workflow-1024x627.png -------------------------------------------------------------------------------- /frontend.txt: -------------------------------------------------------------------------------- 1 | html 2 | css3 3 | js 4 | jquery 5 | bootstrap5 6 | tailwind 7 | nodejs 8 | vue 9 | react 10 | angular JS 11 | 12 | Mobil 13 | react native 14 | android 15 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /_4_Docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | backend_web: 3 | container_name: my_spring_react 4 | image: my_spring_react 5 | restart: on-failure 6 | build: ./ 7 | ports: 8 | - "4444:4444" -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /all_project_java_sonarqube/_1_spring_react.yml: -------------------------------------------------------------------------------- 1 | services: 2 | backend_web: 3 | container_name: my_spring_react 4 | image: my_spring_react 5 | restart: on-failure 6 | build: ./ 7 | ports: 8 | - "1111:1111" -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /_5_SonarQube/SonarQube_Information.txt: -------------------------------------------------------------------------------- 1 | SonarQube Window Kurulumu 2 | --------------------------------------------------------------- 3 | 4 | 5 | 6 | 7 | 8 | Linux & docker & docker-compose Kurulumu 9 | --------------------------------------------------------------- -------------------------------------------------------------------------------- /_5_SonarQube/sonarqube.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # bash (tercihiniz olsun) ancak bh eskidi 3 | mvn clean verify sonar:sonar \ 4 | -Dsonar.projectKey=spring_boot_sonar \ 5 | -Dsonar.host.url=http://localhost:9000 \ 6 | -Dsonar.login=sqp_507e683324d96ef62259c2535dbda27496c4a98e 7 | 8 | -------------------------------------------------------------------------------- /.idea/libraries/Tech_5_SpringReact.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /_4_Docker/deneme.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Document 7 | 8 | 9 |

Nasılsınız Lorem, ipsum.

10 | 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "techcareer---middle--devops", 3 | "version": "1.0.0", 4 | "description": "```sh\r npm init -y", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC" 12 | } 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Special Data 2 | node_modules 3 | 4 | 5 | .vscode/* 6 | !.vscode/settings.json 7 | !.vscode/tasks.json 8 | !.vscode/launch.json 9 | !.vscode/extensions.json 10 | !.vscode/*.code-snippets 11 | 12 | # Local History for Visual Studio Code 13 | .history/ 14 | 15 | # Built Visual Studio Code Extensions 16 | *.vsix -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/Techcareer - Middle- DevOps.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Techcareer Devops Middle 2 | 3 | ```sh 4 | npm init -y 5 | 6 | ``` 7 | 8 | --- 9 | ### Linux 10 | > Bash Script 11 | > Ubuntu 12 | 13 | --- 14 | ## Git/Github 15 | - Git status 16 | - Git Branch 17 | 18 | 19 | --- 20 | ### Docker 21 | > docker build -t imageAdi. 22 | > docker container run -d --rm -p 4444:4444 --name spring_react imageAdi 23 | > 24 | > docker compose up 25 | > docker compose up -d 26 | > docker compose down 27 | 28 | -------------------------------------------------------------------------------- /_4_Docker/Dockerfile: -------------------------------------------------------------------------------- 1 | # Image oluşturacagim 2 | # docker image build -t my_spring_react . 3 | 4 | 5 | # JDK Sürümü 6 | FROM openjdk:21 7 | 8 | # Bilgilendirme 9 | LABEL maintainer="hamitmizrak@gmail.com" 10 | 11 | # Cevresel Degiskenler 12 | ENV APP_NAME="Blog Project" 13 | ENV VERSION="v1.0.0" 14 | ENV PORT ="4444" 15 | 16 | # Echo Çıktı Almak 17 | RUN echo "App Data Name : $APP_NAME" 18 | RUN echo "App Data Version : $VERSION" 19 | RUN echo "App Data Port : $PORT" 20 | 21 | # Kalıcılık 22 | VOLUME /tmp 23 | 24 | # PORT 25 | EXPOSE 4444 26 | 27 | # Proje Jar ismini kısaltmak 28 | ARG JAR_FILE=./*.jar 29 | 30 | ADD ${JAR_FILE} spring_react 31 | 32 | ENTRYPOINT [ "java","-jar","/spring_react" ] 33 | 34 | 35 | -------------------------------------------------------------------------------- /all_project_java_sonarqube/Dockerfile: -------------------------------------------------------------------------------- 1 | # Image oluşturacagim 2 | # docker image build -t my_spring_react . 3 | 4 | 5 | # JDK Sürümü 6 | FROM openjdk:17 7 | 8 | # Bilgilendirme 9 | LABEL maintainer="hamitmizrak@gmail.com" 10 | 11 | # Cevresel Degiskenler 12 | ENV APP_NAME="Blog Project" 13 | ENV VERSION="v1.0.0" 14 | ENV PORT ="1111" 15 | 16 | # Echo Çıktı Almak 17 | RUN echo "App Data Name : $APP_NAME" 18 | RUN echo "App Data Version : $VERSION" 19 | RUN echo "App Data Port : $PORT" 20 | 21 | # Kalıcılık 22 | VOLUME /tmp 23 | 24 | # PORT 25 | EXPOSE 1111 26 | 27 | # Proje Jar ismini kısaltmak 28 | ARG JAR_FILE=./*.jar 29 | 30 | ADD ${JAR_FILE} spring_react 31 | 32 | ENTRYPOINT [ "java","-jar","/spring_react" ] 33 | 34 | 35 | -------------------------------------------------------------------------------- /_5_SonarQube/sonar-project.properties: -------------------------------------------------------------------------------- 1 | # sonar-project.properties 2 | # https://scm.thm.de/sonar/documentation/analysis/scan/sonarscanner/ 3 | sonar.projectKey=spring_boot_sonar 4 | sonar.projectName=spring_boot_sonar 5 | sonar.projectVersion=spring_boot_sonar 6 | sonar.sourceEncoding=UTF-8 7 | sonar.host.url=http://localhost:9000 8 | sonar.login=sqp_507e683324d96ef62259c2535dbda27496c4a98e 9 | 10 | # Backend 11 | # sonar.sources=./src/main/java 12 | # sonar.language=java 13 | # sonar.java.binaries=./target/classes 14 | 15 | 16 | # Frontend 17 | sonar.sources=. 18 | sonar.javascript.lcov.reportPaths=lcov.info 19 | # Javayı statik kod analizene ekleme 20 | sonar.exclusions=**/*.java 21 | 22 | # Windows => Shell Terminal==>sonar-scanner 23 | 24 | 25 | -------------------------------------------------------------------------------- /_5_SonarQube/sonarqube_scanner.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # updated 4 | sudo apt-get update 5 | sudo apt-get install unzip wget nodejs 6 | 7 | # install 8 | sudo mkdir /downloads/sonarqube -p 9 | sudo cd /downloads/sonarqube 10 | sudo wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip 11 | sudo unzip sonar-scanner-cli-4.2.0.1873-linux.zip 12 | sudo mv sonar-scanner-4.2.0.1873-linux /opt/sonar-scanner 13 | 14 | # propertes file 15 | sudo vim /opt/sonar-scanner/conf/sonar-scanner.properties 16 | sonar.host.url=http://localhost:9000 17 | sonar.sourceEncoding=UTF-8 18 | 19 | # environment variables configuration 20 | sudo vim /etc/profile.d/sonar-scanner.sh 21 | #/bin/bash 22 | export PATH="$PATH:/opt/sonar-scanner/bin" 23 | 24 | # reboot machine 25 | sudo reboot 26 | 27 | # source 28 | sudo source /etc/profile.d/sonar-scanner.sh -------------------------------------------------------------------------------- /_7_GitLab/GitLab_Repository.md: -------------------------------------------------------------------------------- 1 | Command line instructions 2 | You can also upload existing files from your computer using the instructions below. 3 | 4 | # Git global setup 5 | ```sh 6 | git config --global user.name "Hamit Mızrak" 7 | git config --global user.email "hamitmizrak@gmail.com" 8 | Create a new repository 9 | git clone git@gitlab.com:techcareer/techcareer_middle_devops.git 10 | cd techcareer_middle_devops 11 | git switch --create main 12 | touch README.md 13 | git add README.md 14 | git commit -m "add README" 15 | git push --set-upstream origin main 16 | ``` 17 | --- 18 | 19 | 20 | # Push an existing folder 21 | ```sh 22 | cd existing_folder 23 | git init --initial-branch=main 24 | git remote add origin git@gitlab.com:techcareer/techcareer_middle_devops.git 25 | git add . 26 | git commit -m "Initial commit" 27 | git push --set-upstream origin main 28 | ``` 29 | --- 30 | 31 | 32 | # Push an existing Git repository 33 | ```sh 34 | cd existing_repo 35 | git remote rename origin old-origin 36 | git remote add origin git@gitlab.com:techcareer/techcareer_middle_devops.git 37 | git push --set-upstream origin --all 38 | git push --set-upstream origin --tags 39 | ``` -------------------------------------------------------------------------------- /_5_SonarQube/sonarqube.yml: -------------------------------------------------------------------------------- 1 | # docker-compose version 2 | version: "3" 3 | services: 4 | sonarqube: 5 | container_name: sonarqube 6 | #image: sonarqube:9-community 7 | image: sonarqube:8-community 8 | restart: always 9 | depends_on: 10 | - db 11 | environment: 12 | SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonarqubedb 13 | SONAR_JDBC_USERNAME: sonar 14 | SONAR_JDBC_PASSWORD: sonar 15 | # - SONAR.SEARCH.JAVAADDITIONALOPTS: -Dbootstrap.system_call_filter=false 16 | volumes: 17 | - /opt/sonarCE/data:/opt/sonarqube/data 18 | - /opt/sonarCE/extentions:/opt/sonarqube/extensions 19 | - /opt/sonarCE/logs/:/opt/sonarqube/logs 20 | ports: 21 | - "9000:9000" 22 | db: 23 | container_name: postgresql 24 | image: postgres:12 25 | restart: always 26 | environment: 27 | POSTGRES_USER: sonar 28 | POSTGRES_PASSWORD: sonar 29 | POSTGRES_DB: sonarqubedb 30 | volumes: 31 | - /opt/postgresql/:/var/lib/postgresql 32 | - /opt/postgresql/data:/var/lib/postgresql/data 33 | 34 | #docker-compose up 35 | #docker-compose up -d 36 | #docker-compose -f sonarqube.yml up -d 37 | 38 | # JVM 39 | # Maven 40 | # SonarQube (Linux SonarQube) 41 | # Scanner (Linux Scanner) 42 | # Postgres (Linux Postgres) 43 | -------------------------------------------------------------------------------- /all_project_java_sonarqube/_2_sonarqube.yml: -------------------------------------------------------------------------------- 1 | # docker-compose version 2 | version: "3" 3 | services: 4 | backend_web: 5 | container_name: my_spring_react 6 | image: my_spring_react 7 | restart: on-failure 8 | build: ./ 9 | ports: 10 | - "1111:1111" 11 | 12 | #frontend_web: 13 | 14 | sonarqube: 15 | container_name: sonarqube 16 | #image: sonarqube:9-community 17 | image: sonarqube:8-community 18 | restart: always 19 | depends_on: 20 | - db 21 | environment: 22 | SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonarqubedb 23 | SONAR_JDBC_USERNAME: sonar 24 | SONAR_JDBC_PASSWORD: sonar 25 | # - SONAR.SEARCH.JAVAADDITIONALOPTS: -Dbootstrap.system_call_filter=false 26 | volumes: 27 | - /opt/sonarCE/data:/opt/sonarqube/data 28 | - /opt/sonarCE/extentions:/opt/sonarqube/extensions 29 | - /opt/sonarCE/logs/:/opt/sonarqube/logs 30 | ports: 31 | - "9000:9000" 32 | db: 33 | container_name: postgresql 34 | image: postgres:12 35 | restart: always 36 | environment: 37 | POSTGRES_USER: sonar 38 | POSTGRES_PASSWORD: sonar 39 | POSTGRES_DB: sonarqubedb 40 | volumes: 41 | - /opt/postgresql/:/var/lib/postgresql 42 | - /opt/postgresql/data:/var/lib/postgresql/data 43 | 44 | #docker-compose up 45 | #docker-compose up -d 46 | #docker-compose -f sonarqube.yml up -d 47 | 48 | # JVM 49 | # Maven 50 | # SonarQube (Linux SonarQube) 51 | # Scanner (Linux Scanner) 52 | # Postgres (Linux Postgres) 53 | -------------------------------------------------------------------------------- /_5_SonarQube/Sonar_README.md: -------------------------------------------------------------------------------- 1 | # Sonar Readme 2 | --- 3 | Sonar Gereksinimler 4 | Java 17 5 | Postgresql 6 | 7 | Windows çalıştırma ==> C:\sonarqube\bin\windows-x86-64\StartSonar.bat 8 | username:admin 9 | password:adminadmin 10 | 11 | 12 | # Java Maven => Pom.xml 13 | ```sh 14 | -- dependencies -- 15 | 16 | org.jacoco 17 | jacoco-maven-plugin 18 | 0.8.10 19 | 20 | 21 | --- Build --- 22 | 23 | org.sonarsource.scanner.maven 24 | sonar-maven-plugin 25 | 3.3.0.603 26 | 27 | ``` 28 | 29 | # 1.YOL (sonarQube Server ) Java root kısmında bunu terminalde çalıştırın 30 | 31 | Eğer çalışmazsa => 32 | C:\sonarqube\sonarqube-10.4.1.88267\conf 33 | içine => wrapper.conf içine aşağıdaki path sizin ki ile karşılaştırıp deneyelim. 34 | 35 | > wrapper.java.command=C:\Program Files\Java\jdk-11\bin/java 36 | 37 | mvn clean verify sonar:sonar \ 38 | -Dsonar.projectKey=spring_boot_sonar \ 39 | -Dsonar.host.url=http://localhost:9000 \ 40 | -Dsonar.login=sqp_507e683324d96ef62259c2535dbda27496c4a98e 41 | 42 | # 2.YOL (sonarQube Scanner) Java root kısmında bunu terminalde çalıştırın 43 | > Windows Path => Path ekle => C:\sonarqube\sonar-scanner-cli-5.0.1.3006-windows\sonar-scanner-5.0.1.3006-windows\bin 44 | > sonar-project.properties (Kök dizine eklenir) 45 | > https://scm.thm.de/sonar/documentation/analysis/scan/sonarscanner/ 46 | > sonar-scanner (sonar-project.properties) olduğu yerde çalıştır. 47 | 48 | 49 | -------------------------------------------------------------------------------- /_4_Docker/docker-compose-postgresql.yml: -------------------------------------------------------------------------------- 1 | # docker-compose --version 2 | # docker-compose up 3 | # docker-compose up -d 4 | # docker-compose -f docker-compose-mysql.yml up 5 | # docker-compose -f docker-compose-postgresql.yml up 6 | # docker-compose down 7 | # docker-compose restart 8 | # docker-compose ps 9 | 10 | # restart: parametresi farklı restart işlemlerinde kullanılır. Bu parametre sayesinde 11 | # servisler veya konteynarlar durduğunda ,sistem çöktüğünde serverin nasıl davrancağını belirtir. 12 | # restart: no (default) ( yani docker compose otomatik olarak restart uygulasın 13 | # restart: unless-stopped ( konteynar durduğunda otomatik olarak yeniden başlamasın 14 | # restart: always (konteynar her zaman otomatik başlatsın) 15 | # restart: on-failure (konteynar çökmesi durumunda otomatik olarak başlat) 16 | 17 | version: '3.1' 18 | 19 | services: 20 | dailyapp: 21 | container_name: blog_react 22 | image: blog_react 23 | restart: always 24 | build: ./ 25 | ports: 26 | - "5555:4444" 27 | networks: 28 | - blog_default 29 | depends_on: 30 | - "PostgreSQL" 31 | environment: 32 | SPRING_DATASOURCE_URL: jdbc:postgresql://PostgreSQL:5432/blog 33 | SPRING_DATASOURCE_USERNAME: "postgres" 34 | SPRING_DATASOURCE_PASSWORD: "postgres" 35 | SPRING_JPA_HIBERNATE_DDL_AUTO: create 36 | 37 | PostgreSQL: 38 | container_name: postgres_db 39 | image: postgres 40 | ports: 41 | - "5432:5432" 42 | environment: 43 | - POSTGRES_PASSWORD=postgres 44 | - POSTGRES_USER=postgres 45 | - POSTGRES_DB=blog 46 | 47 | networks: 48 | blog_default: 49 | name: blog_default 50 | driver: bridge -------------------------------------------------------------------------------- /_4_Docker/docker-compose-mysql.yml: -------------------------------------------------------------------------------- 1 | # docker-compose --version 2 | # docker-compose up 3 | # docker-compose up -d 4 | # docker-compose -f docker-compose-mysql.yml up 5 | # docker-compose -f docker-compose-postgresql.yml up 6 | # docker-compose down 7 | # docker-compose restart 8 | # docker-compose ps 9 | 10 | 11 | # restart: parametresi farklı restart işlemlerinde kullanılır. Bu parametre sayesinde 12 | # servisler veya konteynarlar durduğunda ,sistem çöktüğünde serverin nasıl davrancağını belirtir. 13 | # restart: no (default) ( yani docker compose otomatik olarak restart uygulasın 14 | # restart: unless-stopped ( konteynar durduğunda otomatik olarak yeniden başlamasın 15 | # restart: always (konteynar her zaman otomatik başlatsın) 16 | # restart: on-failure (konteynar çökmesi durumunda otomatik olarak başlat) 17 | 18 | services: 19 | dailyapp: 20 | container_name: blog_react 21 | image: blog_react 22 | restart: always 23 | build: ./ 24 | ports: 25 | - "4444:4444" 26 | environment: 27 | - spring.datasource.url= jdbc:mysql://mysqldb:3306/blog?createDatabaseIfNotExist=true&autoReconnect=true&allowPublicKeyRetrieval=true&useSSL=false 28 | networks: 29 | - springmysql 30 | depends_on: 31 | - mysqldb 32 | 33 | mysqldb: 34 | image: mysql:8.0 35 | ports: 36 | - 3307:3306 37 | expose: 38 | - "3306" 39 | networks: 40 | - springmysql 41 | environment: 42 | - MYSQL_ROOT_PASSWORD=root 43 | - MYSQL_DATABASE=blog 44 | - MYSQL_USER=hamit 45 | - MYSQL_PASSWORD=root 46 | restart: unless-stopped 47 | 48 | networks: 49 | springmysql: 50 | name: springmysql 51 | driver: bridge -------------------------------------------------------------------------------- /_2_Bash_Script/_4_nodejs.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "VS CODE" 3 | 4 | # User Variable 5 | UPDATED="Güncelleme" 6 | CLEANER="Temizleme" 7 | INSTALL="Yükleme" 8 | DELETED="Silme" 9 | WHICH="Nerede ?" 10 | COMMONINFORMATION=" Genel Bilgiler" 11 | 12 | # System Variable 13 | 14 | # Updated 15 | sleep 2 16 | echo -e "\n### ${UPDATED} ###" 17 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 18 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 19 | then 20 | echo -e "Güncelleme Başlandı... " 21 | sudo apt-get update && sudo apt-get upgrade -y 22 | else 23 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 24 | fi 25 | 26 | 27 | # Common 28 | sleep 2 29 | echo -e "\n### ${COMMONINFORMATION} ###" 30 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 31 | if [[ $commonResult == "E" || $commonResult == "e" ]] 32 | then 33 | echo -e "Genel Bilgiler Başlandı... " 34 | echo -e "Ben Kimim ... " 35 | sudo whoami 36 | echo -e "IP ... " 37 | sudo ifconfig 38 | echo -e "Portlar ... " 39 | sudo netstat -nlptu 40 | echo -e "Ram ... " 41 | sudo free -m 42 | else 43 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 44 | fi 45 | 46 | # Yükleme 47 | sleep 2 48 | echo -e "\n### ${UPDATED} ###" 49 | read -p "Node JS Yükleme istiyor musunuz E/H ? " installingResult 50 | if [[ $installingResult == "E" || $installingResult == "e" ]] 51 | then 52 | echo -e "Yükleme Başlandı... " 53 | sudo apt-get install -y nodejs 54 | sleep 1 55 | npm -v 56 | node -v 57 | else 58 | echo -e "Node JS Yüklemesi Yapılmadı!!!\n " 59 | fi 60 | 61 | # Temizlik 62 | sleep 2 63 | echo -e "\n###### Cache Temizleme ######" 64 | read -p "Cache Temizleme istiyor musunuz? E / H ? " cleanResult 65 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 66 | then 67 | echo -e "\n######" $CLEANER "######" 68 | echo -e "Temizlik Başlandı... " 69 | sudo apt-get clean 70 | sudo apt-get autoremove -y 71 | else 72 | echo -e "Temizlik Yapılmadı!!!\n " 73 | fi 74 | 75 | 76 | sleep 2 77 | echo -e "\n###### BİTTİ ######" 78 | 79 | -------------------------------------------------------------------------------- /_2_Bash_Script/_3_vs_code.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "VS CODE" 3 | 4 | # User Variable 5 | UPDATED="Güncelleme" 6 | CLEANER="Temizleme" 7 | INSTALL="Yükleme" 8 | DELETED="Silme" 9 | WHICH="Nerede ?" 10 | COMMONINFORMATION=" Genel Bilgiler" 11 | 12 | # System Variable 13 | 14 | # Updated 15 | sleep 2 16 | echo -e "\n### ${UPDATED} ###" 17 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 18 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 19 | then 20 | echo -e "Güncelleme Başlandı... " 21 | sudo apt-get update && sudo apt-get upgrade -y 22 | else 23 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 24 | fi 25 | 26 | 27 | # Common 28 | sleep 2 29 | echo -e "\n### ${COMMONINFORMATION} ###" 30 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 31 | if [[ $commonResult == "E" || $commonResult == "e" ]] 32 | then 33 | echo -e "Genel Bilgiler Başlandı... " 34 | echo -e "Ben Kimim ... " 35 | sudo whoami 36 | echo -e "IP ... " 37 | sudo ifconfig 38 | echo -e "Portlar ... " 39 | sudo netstat -nlptu 40 | echo -e "Ram ... " 41 | sudo free -m 42 | else 43 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 44 | fi 45 | 46 | # Yükleme 47 | sleep 2 48 | echo -e "\n### ${UPDATED} ###" 49 | read -p "VS Code'u Yükleme istiyor musunuz E/H ? " installingResult 50 | if [[ $installingResult == "E" || $installingResult == "e" ]] 51 | then 52 | echo -e "Yükleme Başlandı... " 53 | sudo snap install code --classic 54 | sleep 1 55 | echo -e "Bağımlılıklar Yükleniyor" 56 | sudo apt install –f 57 | sudo mkdir frontend 58 | cd frontend 59 | code . 60 | else 61 | echo -e "Yükleme Yapılmadı!!!\n " 62 | fi 63 | 64 | # Temizlik 65 | sleep 2 66 | echo -e "\n###### Cache Temizleme ######" 67 | read -p "Cache Temizleme istiyor musunuz? E / H ? " cleanResult 68 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 69 | then 70 | echo -e "\n######" $CLEANER "######" 71 | echo -e "Temizlik Başlandı... " 72 | sudo apt-get clean 73 | sudo apt-get autoremove -y 74 | else 75 | echo -e "Temizlik Yapılmadı!!!\n " 76 | fi 77 | 78 | 79 | sleep 2 80 | echo -e "\n###### BİTTİ ######" 81 | 82 | -------------------------------------------------------------------------------- /_2_Bash_Script/_14_AllVersion.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "VS CODE" 3 | 4 | # User Variable 5 | UPDATED="Güncelleme" 6 | CLEANER="Temizleme" 7 | INSTALL="Yükleme" 8 | DELETED="Silme" 9 | WHICH="Nerede ?" 10 | COMMONINFORMATION=" Genel Bilgiler" 11 | LOGIN="Docker Login" 12 | DOKCER_PULL="Docker Pulling" 13 | 14 | # System Variable 15 | 16 | # Updated 17 | sleep 2 18 | echo -e "\n### ${UPDATED} ###" 19 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 20 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 21 | then 22 | echo -e "Güncelleme Başlandı... " 23 | sudo apt-get update && sudo apt-get upgrade -y 24 | else 25 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 26 | fi 27 | 28 | 29 | # Common 30 | sleep 2 31 | echo -e "\n### ${COMMONINFORMATION} ###" 32 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 33 | if [[ $commonResult == "E" || $commonResult == "e" ]] 34 | then 35 | echo -e "Genel Bilgiler Başlandı... " 36 | echo -e "Ben Kimim ... " 37 | sudo whoami 38 | echo -e "IP ... " 39 | sudo ifconfig 40 | echo -e "Portlar ... " 41 | sudo netstat -nlptu 42 | echo -e "Ram ... " 43 | sudo free -m 44 | else 45 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 46 | fi 47 | 48 | 49 | # Temizlik 50 | sleep 2 51 | echo -e "\n###### Cache Temizleme ######" 52 | read -p "Cache Temizleme istiyor musunuz? E / H " cleanResult 53 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 54 | then 55 | echo -e "\n######" $CLEANER "######" 56 | echo -e "Temizlik Başlandı... " 57 | sudo apt-get clean 58 | sudo apt-get autoremove -y 59 | echo -e "Bağımlılıklar Yükleniyor" 60 | sudo apt install –f 61 | else 62 | echo -e "Temizlik Yapılmadı!!!\n " 63 | fi 64 | 65 | # Version 66 | sleep 2 67 | echo -e "\n###### Version Bakmak ######" 68 | read -p "Versiyona bakmak istiyor musunuz? E / H " versionResult 69 | if [[ $versionResult == "E" || $versionResult == "e" ]] 70 | then 71 | echo -e "\n###### Versionlar ######" 72 | pwd 73 | sleep 2 74 | which mvn 75 | mvn -v 76 | sleep 2 77 | which java 78 | java --version 79 | sleep 2 80 | which docker 81 | docker version 82 | sleep 2 83 | git version 84 | node -v 85 | sleep 2 86 | npm -v 87 | sleep 2 88 | curl --version 89 | sleep 2 90 | else 91 | echo -e "Temizlik Yapılmadı!!!\n " 92 | fi 93 | 94 | 95 | sleep 2 96 | echo -e "\n###### BİTTİ ######" 97 | -------------------------------------------------------------------------------- /_2_Bash_Script/_7_apache_tomcat.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "APACHE TOMCAT" 3 | 4 | # User Variable 5 | UPDATED="Güncelleme" 6 | CLEANER="Temizleme" 7 | INSTALL="Yükleme" 8 | DELETED="Silme" 9 | WHICH="Nerede ?" 10 | VERSION=Version 11 | COMMONINFORMATION="Genel Bilgiler" 12 | 13 | # System Variable 14 | 15 | # Updated 16 | sleep 2 17 | echo -e "\n### ${UPDATED} ###" 18 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 19 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 20 | then 21 | echo -e "Güncelleme Başlandı... " 22 | sudo apt-get update && sudo apt-get upgrade -y 23 | else 24 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n" 25 | fi 26 | 27 | 28 | # Common 29 | sleep 2 30 | echo -e "\n### ${COMMONINFORMATION} ###" 31 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 32 | if [[ $commonResult == "E" || $commonResult == "e" ]] 33 | then 34 | echo -e "Genel Bilgiler Başlandı... " 35 | echo -e "Ben Kimim ... " 36 | sudo whoami 37 | echo -e "IP ... " 38 | sudo ifconfig 39 | echo -e "Portlar ... " 40 | sudo netstat -nlptu 41 | echo -e "Ram ... " 42 | sudo free -m 43 | else 44 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 45 | fi 46 | 47 | # Yükleme 48 | sleep 2 49 | echo -e "\n### ${UPDATED} ###" 50 | read -p "Apache Tomcat 'i Yükleme istiyor musunuz E/H ? " installingResult 51 | if [[ $installingResult == "E" || $installingResult == "e" ]] 52 | then 53 | echo -e "Yükleme Başlandı... " 54 | 55 | sleep 2 56 | sudo apt-get install wget unzip -y 57 | sudo apt-get install wget zip -y 58 | sudo apt install vim -y 59 | sudo apt install net-tools 60 | 61 | sleep 2 62 | wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz 63 | sudo tar xzvf apache-tomcat-10.0.8.tar.gz 64 | sudo mkdir /opt/tomcat/ 65 | sudo mv apache-tomcat-10.0.8/* /opt/tomcat/ 66 | sudo chown -R www-data:www-data /opt/tomcat/ 67 | sudo chmod -R 755 /opt/tomcat/ 68 | 69 | else 70 | echo -e "Yükleme Yapılmadı!!!\n " 71 | fi 72 | 73 | # Temizlik 74 | sleep 2 75 | echo -e "\n###### Cache Temizleme ######" 76 | read -p "Cache Temizleme istiyor musunuz? E / H " cleanResult 77 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 78 | then 79 | echo -e "\n######" $CLEANER "######" 80 | echo -e "Temizlik Başlandı... " 81 | sudo apt-get clean 82 | sudo apt-get autoremove -y 83 | else 84 | echo -e "Temizlik Yapılmadı!!!\n " 85 | fi 86 | 87 | 88 | sleep 2 89 | echo -e "\n###### BİTTİ ######" 90 | -------------------------------------------------------------------------------- /_2_Bash_Script/_2_git.sh: -------------------------------------------------------------------------------- 1 | 2 | #! /bin/bash 3 | 4 | # Shell çalıştırmak 5 | # ./_1_common.sh 6 | 7 | # User Variable 8 | UPDATED="Güncelleme" 9 | NOT_UPDATED="Güncellenmedi" 10 | CLEANER="Temizleme" 11 | INSTALL="Yükleme" 12 | NOT_INSTALLED="Yüklenmedi" 13 | DELETED="Silme" 14 | COMMON_INFORMATION="Genel Bilgiler" 15 | ERROR="Hata" 16 | WARNING="Uyarı" 17 | SUCCESS="Başarılı" 18 | FAILED="Başarısız" 19 | NOT_FOUND="Bulunamadı" 20 | CHMOD="Dosya İzinleri Vermek" 21 | 22 | # Güncelleme 23 | sleep 2 24 | echo -e "\n " 25 | read -p " $UPDATED İstiyor musunuz ? E/H " updateUserResponse 26 | if [[ $updateUserResponse == "E" || $updateUserResponse == "e" ]]; 27 | then 28 | echo -e "Güncelleme Başlandı... " 29 | sudo apt-get update && sudo apt-get upgrade -y 30 | sudo apt install –f 31 | else 32 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 33 | fi 34 | 35 | # PORT 36 | sleep 2 37 | echo -e "\n PORT" 38 | read -p "Port Aktif etmek ve izin Vermek istiyor musunuz ? E/H " updateUserResponse 39 | if [[ $updateUserResponse == "E" || $updateUserResponse == "e" ]]; 40 | then 41 | echo -e "Port İşlemlerine Başlandı... " 42 | sudo netstat -nlptu 43 | sudo ufw allow 22 44 | sudo ufw allow 80 45 | sudo ufw allow 443 46 | sudo ufw allow 1111 47 | sudo ufw allow 2222 48 | sudo ufw allow 3333 49 | sudo ufw allow 4444 50 | sudo ufw allow 8080 51 | sudo ufw allow 8000 52 | sudo ufw allow 9000 53 | sudo ufw allow 3306 54 | sudo ufw allow 5432 55 | else 56 | echo -e "Port Güncelleme Yapılmadı!!!\n " 57 | fi 58 | 59 | 60 | # Yükleme 61 | sleep 2 62 | echo -e "\n### ${UPDATED} ###" 63 | read -p "Git'i Yükleme istiyor musunuz E/H ? " installingResult 64 | if [[ $installingResult == "E" || $installingResult == "e" ]] 65 | then 66 | echo -e "Yükleme Başlandı... " 67 | sudo apt-get install git -y 68 | git version 69 | git config --global user.name "hamitmizrak" 70 | git config --global user.email "hamitmizrak@gmail.com" 71 | git config --global -l 72 | sleep 1 73 | echo -e "Bağımlılıklar Yükleniyor" 74 | sudo apt install –f 75 | 76 | else 77 | echo -e "Yükleme Yapılmadı!!!\n " 78 | fi 79 | 80 | # TEMİZLEME 81 | sleep 2 82 | echo -e "\n TEMİZLE" 83 | read -p "Cache yapmak istiyor musunuz ? E/H " updateUserResponse 84 | if [[ $updateUserResponse == "E" || $updateUserResponse == "e" ]]; 85 | then 86 | echo -e "\nTemizle Başlandı... " 87 | sudo apt-get clean 88 | sudo apt-get autoremove -y 89 | 90 | else 91 | echo -e "Temizlik Yapılmadı!!!\n " 92 | fi 93 | -------------------------------------------------------------------------------- /_7_GitLab/GİTLAB_README.md: -------------------------------------------------------------------------------- 1 | # GitLab Gereksinimleri (VPS) 2 | 3 | > Gitlab 502 Error 4 | 5 | - En az RAM 8GB 6 | - En az CPU 4 Core 7 | --- 8 | 9 | 10 | # GitLab Linux Codes 11 | > Linux 12 | - sudo GitLab-ctl status 13 | - sudo GitLab-ctl restart 14 | - sudo GitLab-ctl stop 15 | --- 16 | 17 | 18 | 19 | # GitLab Tutorials 20 | > Açık kaynak kodlu bir git repositoridir. 21 | > Go diliyle yazılmıştır. Docker'da "GO" diliyle yazılmıştır. 22 | > Ücretresiz. 23 | > Web tabanlıdır. 24 | > Kendi serverımıza yükleyebiliriz. Yetkilendirme yapabiliriz. 25 | > VPS Digital Ocean 26 | > CI/CD sürekli entegrasyon && sürekli teslimatı destekler 27 | > Projelerimizi public/private yapabiliriz. 28 | > Sınırsız kod deposu 29 | > Sınırsız disk alanı 30 | > Kod paylaşımı 31 | > Proje yönetimi 32 | > CI 33 | > CD 34 | --- 35 | 36 | ### Readme (.md) Mark Down 37 | 38 | **Bold Yazı** 39 |
40 | *italic Yazı* 41 | `Fosforlu kalem` 42 | [Link](https://) 43 | 44 | > Girinti çizgisi 45 | > step -1 46 | > step -2 47 | > step -3 48 | 49 | - Noktalama işareti 50 | - step -4 51 | - step -5 52 | - step -6 53 | 54 | ```sh 55 | step -7 56 | step -8 57 | step -9 58 | ``` 59 | 60 | --- 61 | 62 | 63 | ## GitLab Hub bilgileri 64 | > Jenkins: Groovy kullanıyor. 65 | > GitLab : YAML/YML kullanıyor. => .gitlab-ci.yml VEYA docker.gitlab-ci.yml 66 | > Docker : YAML/YML kullanıyor. => docker-compose.yml 67 | > Sonarqube : sonar-project.properties 68 | --- 69 | 70 | ## GitLab Konu başlıkları (Feature) 71 | 72 | > Gitlab CI/CD 73 | > Issue Management 74 | > Gitlab Pipeline 75 | > Deployment 76 | > Wiki 77 | > Sharing 78 | > Access Token 79 | > SSH Keys 80 | > GPG Keys 81 | > Gizli bilgi (password ) $ROOT_PASSWORD 82 | 83 | --- 84 | 85 | 86 | 87 | 88 | ## GitLab VPS bilgileri 89 | 90 | > on-preme : özel kendi sunucularımızda saklıyoruz. 91 | 92 | --- 93 | 94 | ## GitLab Avantajları 95 | 96 | > iş takibi 97 | > Wiki dokument 98 | > Entegrasyon 99 | > SonarQube D/EE/Data center çalıştırabiliriz. 100 | > Pull Request (merge) 101 | 102 | --- 103 | 104 | 105 | 106 | ## GitLab Type 107 | 108 | > Gitlab CE (Community Edition) 109 | > Gitlab EE (Enterprice Edition) 110 | 111 | --- 112 | 113 | 114 | ## GitLab Runner (Ajan) 115 | 116 | > Projedeki bilgileri alıyor ve gitlab server'a iletiyor. 117 | > Süreçi yönetme için kullanığımız gitlab parçasıdır. 118 | > GitLab tamamen izole olmuş bir şekilde çalışmaktadır. 119 | > Gitlab sunucuyla, GitLab runner aynı yerde olmak zorunda değildir. 120 | > GitLab ücretsiz hesaplarından kullanabileceğimiz Shared Runnerlar mevcuttur. 121 | > Kendi hesabımızda istediğimiz kadar gitlab runnerlar çalıştırabiliriz. 122 | 123 | --- 124 | 125 | 126 | ## GitLab SCM (Source Control Management) 127 | 128 | > Dal, birleştirme 129 | > Düzgün ve anlaşılır isimlendirme 130 | > Merge istekleri 131 | > İyi belgelendirme 132 | 133 | --- 134 | 135 | 136 | ## GitLab Avantajları 137 | 138 | > 139 | 140 | --- 141 | 142 | 143 | ## GitLab Avantajları 144 | 145 | > 146 | 147 | --- 148 | 149 | ```sh 150 | 151 | ``` -------------------------------------------------------------------------------- /_4_Docker/docker_install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | sleep 2 4 | echo -e "\n###### Docker Temizleme ######" 5 | sudo apt-get purge docker-ce docker-ce-cli containerd.io -y 6 | sudo rm -rf /var/lib/docker 7 | sudo rm -rf /var/lib/containerd 8 | sudo apt-get clean 9 | sudo apt-get autoremove -y 10 | sudo apt-get update 11 | sudo apt-get remove docker docker-engine docker.io containerd runc 12 | sudo apt-get update 13 | 14 | ####################################################################### 15 | ####################################################################### 16 | 17 | sleep 2 18 | echo -e "\n###### Docker Kurulumu ######" 19 | sudo apt-get install -y ca-certificates curl gnupg 20 | sudo install -m 0755 -d /etc/apt/keyrings 21 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 22 | sudo chmod a+r /etc/apt/keyrings/docker.gpg 23 | 24 | echo \ 25 | "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ 26 | "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ 27 | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 28 | 29 | sudo apt-get update 30 | sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin 31 | 32 | sudo systemctl daemon-reload 33 | sudo systemctl restart docker 34 | sudo systemctl start docker 35 | sudo systemctl enable docker 36 | sudo systemctl status docker 37 | 38 | ####################################################################### 39 | ####################################################################### 40 | sleep 2 41 | echo -e "\n###### Docker Compose ######" 42 | sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 43 | sudo chmod +x /usr/local/bin/docker-compose 44 | docker-compose --version 45 | 46 | ####################################################################### 47 | ####################################################################### 48 | sleep 2 49 | echo -e "\n###### Docker Sudo ######" 50 | sudo groupadd docker 51 | sudo usermod -aG docker $USER 52 | newgrp docker 53 | docker ps 54 | docker version 55 | q 56 | 57 | ####################################################################### 58 | ####################################################################### 59 | 60 | 61 | sleep 2 62 | echo -e "\n###### Docker Bash Completion ######" 63 | sudo apt-get install bash-completion 64 | 65 | ####################################################################### 66 | ####################################################################### 67 | 68 | # sudo apt install -f 69 | echo -e "\n###### Docker Pulling ######" 70 | docker version 71 | docker run hello-world 72 | docker pull nginx 73 | docker pull httpd 74 | docker pull mysql 75 | docker pull mongo 76 | docker pull ubuntu 77 | docker pull centos 78 | 79 | ####################################################################### 80 | ####################################################################### 81 | 82 | 83 | echo -e "\n###### Docker Login ######" 84 | docker login 85 | # docker logout 86 | 87 | -------------------------------------------------------------------------------- /_5_SonarQube/docker_install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | sleep 2 4 | echo -e "\n###### Docker Temizleme ######" 5 | sudo apt-get purge docker-ce docker-ce-cli containerd.io -y 6 | sudo rm -rf /var/lib/docker 7 | sudo rm -rf /var/lib/containerd 8 | sudo apt-get clean 9 | sudo apt-get autoremove -y 10 | sudo apt-get update 11 | sudo apt-get remove docker docker-engine docker.io containerd runc 12 | sudo apt-get update 13 | 14 | ####################################################################### 15 | ####################################################################### 16 | 17 | sleep 2 18 | echo -e "\n###### Docker Kurulumu ######" 19 | sudo apt-get install -y ca-certificates curl gnupg 20 | sudo install -m 0755 -d /etc/apt/keyrings 21 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 22 | sudo chmod a+r /etc/apt/keyrings/docker.gpg 23 | 24 | echo \ 25 | "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ 26 | "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ 27 | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 28 | 29 | sudo apt-get update 30 | sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin 31 | 32 | sudo systemctl daemon-reload 33 | sudo systemctl restart docker 34 | sudo systemctl start docker 35 | sudo systemctl enable docker 36 | sudo systemctl status docker 37 | 38 | ####################################################################### 39 | ####################################################################### 40 | sleep 2 41 | echo -e "\n###### Docker Compose ######" 42 | sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 43 | sudo chmod +x /usr/local/bin/docker-compose 44 | docker-compose --version 45 | 46 | ####################################################################### 47 | ####################################################################### 48 | sleep 2 49 | echo -e "\n###### Docker Sudo ######" 50 | sudo groupadd docker 51 | sudo usermod -aG docker $USER 52 | newgrp docker 53 | docker ps 54 | docker version 55 | q 56 | 57 | ####################################################################### 58 | ####################################################################### 59 | 60 | 61 | sleep 2 62 | echo -e "\n###### Docker Bash Completion ######" 63 | sudo apt-get install bash-completion 64 | 65 | ####################################################################### 66 | ####################################################################### 67 | 68 | # sudo apt install -f 69 | echo -e "\n###### Docker Pulling ######" 70 | docker version 71 | docker run hello-world 72 | docker pull nginx 73 | docker pull httpd 74 | docker pull mysql 75 | docker pull mongo 76 | docker pull ubuntu 77 | docker pull centos 78 | 79 | ####################################################################### 80 | ####################################################################### 81 | 82 | 83 | echo -e "\n###### Docker Login ######" 84 | docker login 85 | # docker logout 86 | 87 | -------------------------------------------------------------------------------- /_2_Bash_Script/_5_jdk.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "JAVA JDK" 3 | 4 | # User Variable 5 | UPDATED="Güncelleme" 6 | CLEANER="Temizleme" 7 | INSTALL="Yükleme" 8 | DELETED="Silme" 9 | WHICH="Nerede ?" 10 | COMMONINFORMATION=" Genel Bilgiler" 11 | 12 | # System Variable 13 | 14 | # Updated 15 | sleep 2 16 | echo -e "\n### ${UPDATED} ###" 17 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 18 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 19 | then 20 | echo -e "Güncelleme Başlandı... " 21 | sudo apt-get update && sudo apt-get upgrade -y 22 | else 23 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 24 | fi 25 | 26 | 27 | # Common 28 | sleep 2 29 | echo -e "\n### ${COMMONINFORMATION} ###" 30 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 31 | if [[ $commonResult == "E" || $commonResult == "e" ]] 32 | then 33 | echo -e "Genel Bilgiler Başlandı... " 34 | echo -e "Ben Kimim ... " 35 | sudo whoami 36 | echo -e "IP ... " 37 | sudo ifconfig 38 | echo -e "Portlar ... " 39 | sudo netstat -nlptu 40 | echo -e "Ram ... " 41 | sudo free -m 42 | else 43 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 44 | fi 45 | 46 | 47 | # JAVA 48 | sleep 2 49 | echo -e "\n###### JAVA ######" 50 | read -p "JAVA Yükleme istiyor musunuz? E / H ? " installingResult 51 | if [[ $installingResult == "E" || $installingResult == "e" ]] 52 | then 53 | # Java 54 | echo -e "\n###### JAVA" $INSTALL "######" 55 | echo -e "\n######" $WHICH "######" 56 | which java 57 | which git 58 | sudo apt-get update 59 | java --version 60 | javac --version 61 | sudo apt install openjdk-11-jdk -y 62 | sudo add-apt-repository ppa:openjdk-r/ppa -y 63 | # JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/" 64 | # vim deneme2.sh #-s <(echo -e "/foo/\ndd\n:wq") 65 | echo -e "#Java Home\nJAVA_HOME=\"/usr/lib/jvm/java-11-openjdk-amd64/bin/\" " >> ~/.bashrc 66 | # sudo apt-get update 67 | #sudo apt-get upgrade -y 68 | 69 | #sudo apt-get install wget unzip -y 70 | #sudo apt-get install openjdk-17-jdk -y 71 | #sudo apt-get install openjdk-17-jre -y 72 | #sudo update-alternatives --config java 73 | #java -version 74 | 75 | 76 | echo $JAVA_HOME 77 | # java version 78 | echo -e "\n######" "java" $VERSION "######" 79 | java -version 80 | javac -version 81 | sleep 1 82 | echo -e "Bağımlılıklar Yükleniyor" 83 | sudo apt install –f 84 | else 85 | echo -e "Java Güncelleme Yapılmadı!!!\n " 86 | fi 87 | 88 | 89 | # Silme 90 | sleep 2 91 | echo -e "\n### ${DELETED} ###" 92 | echo -e "\nJava'yı Silmek istiyor musunuz ? E/H " deletedResult 93 | if [[ $deletedResult == "E" || $deletedResult == "e" ]] 94 | then 95 | echo -e "Temizlik Başlandı... " 96 | sudo update-alternatives --remove "java" "/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java" 97 | sudo update-alternatives --remove "javac" "/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/javac" 98 | sudo update-alternatives --remove "javaws" "/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/javaws" 99 | sudo rm -r /usr/lib/jvm/ 100 | sudo apt-get clean 101 | sudo apt-get autoremove -y 102 | else 103 | echo -e "Java Silme Yapılmadı!!!\n " 104 | fi 105 | 106 | # Temizlik 107 | sleep 2 108 | echo -e "\n###### Cache Temizleme ######" 109 | read -p "Cache Temizleme istiyor musunuz? E / H " cleanResult 110 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 111 | then 112 | echo -e "\n######" $CLEANER "######" 113 | echo -e "Temizlik Başlandı... " 114 | sudo apt-get clean 115 | sudo apt-get autoremove -y 116 | java --version 117 | else 118 | echo -e "Temizlik Yapılmadı!!!\n " 119 | fi 120 | 121 | 122 | sleep 2 123 | echo -e "\n###### BİTTİ ######" 124 | -------------------------------------------------------------------------------- /_2_Bash_Script/_6_maven.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "MAVEN" 3 | 4 | 5 | # User Variable 6 | UPDATED="Güncelleme" 7 | CLEANER="Temizleme" 8 | INSTALL="Yükleme" 9 | DELETED="Silme" 10 | WHICH="Nerede ?" 11 | COMMONINFORMATION=" Genel Bilgiler" 12 | 13 | # System Variable 14 | 15 | # Updated 16 | sleep 2 17 | echo -e "\n### ${UPDATED} ###" 18 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 19 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 20 | then 21 | echo -e "Güncelleme Başlandı... " 22 | sudo apt-get update && sudo apt-get upgrade -y 23 | else 24 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 25 | fi 26 | 27 | 28 | # Common 29 | sleep 2 30 | echo -e "\n### ${COMMONINFORMATION} ###" 31 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 32 | if [[ $commonResult == "E" || $commonResult == "e" ]] 33 | then 34 | echo -e "Genel Bilgiler Başlandı... " 35 | echo -e "Ben Kimim ... " 36 | sudo whoami 37 | echo -e "IP ... " 38 | sudo ifconfig 39 | echo -e "Portlar ... " 40 | sudo netstat -nlptu 41 | echo -e "Ram ... " 42 | sudo free -m 43 | else 44 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 45 | fi 46 | 47 | # Maven deleted 48 | sleep 2 49 | read -p "Maven Silmek istiyor musunuz E/H ? " deletedResult 50 | if [[ $deletedResult == "E" || $deletedResult == "e" ]] 51 | then 52 | echo -e "Güncelleme Başlandı... " 53 | echo -e "Temizlik Başlandı... " 54 | sudo apt-get clean 55 | sudo apt-get autoremove -y 56 | sudo apt-get purge maven 57 | sudo apt-get purge maven 58 | sudo rm -f apache-maven-3.6.3-bin.tar.gz 59 | sudo apt-get update && sudo apt-get upgrade -y 60 | else 61 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 62 | fi 63 | 64 | # MAVEN 65 | sleep 2 66 | echo -e "\n###### MAVEN ######" 67 | read -p "MAVEN Yükleme istiyor musunuz? E / H " installingResult 68 | if [[ $installingResult == "E" || $installingResult == "e" ]] 69 | then 70 | # Java 71 | echo -e "\n###### MAVEN" $INSTALL "######" 72 | echo -e "\n######" $WHICH "######" 73 | which maven 74 | which java 75 | which git 76 | sudo apt-get update 77 | echo -e "\n###### JAVA VERSION ######" 78 | java --version 79 | javac --version 80 | #sudo su 81 | 82 | sudo apt install maven 83 | sleep 1 84 | echo -e "Bağımlılıklar Yükleniyor" 85 | sudo apt install –f 86 | #cd /usr/local 87 | #sudo wget https://mirrors.estointernet.in/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz 88 | #sudo tar xzf apache-maven-3.6.3-bin.tar.gz 89 | #sudo ln -s apache-maven-3.6.3 maven 90 | #JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 91 | #M2_HOME=/usr/local/maven 92 | #MAVEN_HOME=/usr/local/maven 93 | #PATH=${M2_HOME}/bin:${PATH} 94 | #sudo rm -rf /etc/profile.d/maven.sh 95 | ### echo -e "#Java Home\nJAVA_HOME=\"/usr/lib/jvm/java-11-openjdk-amd64/bin/\" " >> ~/.bashrc 96 | #echo -e "#Maven Home\n export" ${JAVA_HOME}\n" | sudo tee --append /etc/profile.d/maven.sh 97 | #echo -e "export" ${M2_HOME}\n" | sudo tee --append /etc/profile.d/maven.sh 98 | #echo -e "export" ${MAVEN_HOME}\n" | sudo tee --append /etc/profile.d/maven.sh 99 | #echo -e "export" ${PATH}\n" | sudo tee --append /etc/profile.d/maven.sh 100 | #sudo source /etc/profile.d/maven.sh 101 | echo -e "\n###### MAVEN VERSION ######" 102 | mvn -version 103 | else 104 | echo -e "Maven Güncelleme Yapılmadı!!!\n " 105 | fi 106 | 107 | 108 | # Temizlik 109 | sleep 2 110 | echo -e "\n###### Cache Temizleme ######" 111 | read -p "Cache Temizleme istiyor musunuz? E / H " cleanResult 112 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 113 | then 114 | echo -e "\n######" $CLEANER "######" 115 | echo -e "Temizlik Başlandı... " 116 | sudo apt-get clean 117 | sudo apt-get autoremove -y 118 | else 119 | echo -e "Temizlik Yapılmadı!!!\n " 120 | fi 121 | 122 | 123 | sleep 2 124 | echo -e "\n###### BİTTİ ######" -------------------------------------------------------------------------------- /_2_Bash_Script/_9_postgresql.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "POSTGRESQL" 3 | 4 | # User Variable 5 | UPDATED="Güncelleme" 6 | CLEANER="Temizleme" 7 | INSTALL="Yükleme" 8 | DELETED="Silme" 9 | WHICH="Nerede ?" 10 | VERSION=Version 11 | COMMONINFORMATION="Genel Bilgiler" 12 | 13 | # System Variable 14 | 15 | # Updated 16 | sleep 2 17 | echo -e "\n### ${UPDATED} ###" 18 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 19 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 20 | then 21 | echo -e "Güncelleme Başlandı... " 22 | sudo apt-get update && sudo apt-get upgrade -y 23 | else 24 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n" 25 | fi 26 | 27 | # Silmek 28 | sleep 2 29 | echo -e "\n### Postgresql Silmek ###" 30 | read -p "Postgresql Silmek istiyor musunuz E/H ? " deletedResult 31 | if [[ $deletedResult == "E" || $deletedResult == "e" ]] 32 | then 33 | echo -e "Postgresql Başlandı... " 34 | sudo apt remove postgresql postgresql-contrib -y 35 | sudo apt autoremove -y 36 | dpkg -l |grep postgres; 37 | sudo apt-get –purge remove postgresql postgresql-14 postgresql-client-common postgresql-common postgresql-contrib 38 | dpkg -l | grep postgres 39 | else 40 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 41 | fi 42 | 43 | # Common 44 | sleep 2 45 | echo -e "\n### ${COMMONINFORMATION} ###" 46 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 47 | if [[ $commonResult == "E" || $commonResult == "e" ]] 48 | then 49 | echo -e "Genel Bilgiler Başlandı... " 50 | echo -e "Ben Kimim ... " 51 | sudo whoami 52 | echo -e "IP ... " 53 | sudo ifconfig 54 | echo -e "Portlar ... " 55 | sudo netstat -nlptu 56 | echo -e "Ram ... " 57 | sudo free -m 58 | else 59 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 60 | fi 61 | 62 | # Yükleme 63 | sleep 2 64 | echo -e "\n### ${UPDATED} ###" 65 | read -p "Postgresql'i Yükleme istiyor musunuz E/H ? " installingResult 66 | if [[ $installingResult == "E" || $installingResult == "e" ]] 67 | then 68 | echo -e "Yükleme Başlandı... " 69 | 70 | sleep 2 71 | sudo apt-get install wget unzip -y 72 | sudo apt-get install wget zip -y 73 | sudo apt install vim -y 74 | sudo apt install net-tools 75 | sudo ufw allow 5432 76 | 77 | sleep 2 78 | # sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' 79 | echo -e "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main " | sudo tee --append /etc/apt/sources.list.d/pgdg.list 80 | sudo wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add - 81 | sudo apt-get -y install postgresql postgresql-contrib 82 | 83 | sleep 2 84 | echo -e "######Postgresql Enable" 85 | sudo systemctl enable postgresql 86 | 87 | sleep 2 88 | echo -e "Postgresql Start" 89 | sudo systemctl start postgresql 90 | 91 | #sudo systemctl status postgresql 92 | 93 | echo -e "Postgresql yeni şifre: sonarqube yapalım" 94 | # yeni şifre: sonarqube 95 | sudo passwd postgres 96 | su - postgres 97 | createuser sonar 98 | psql 99 | ALTER USER sonar WITH ENCRYPTED password 'sonar'; 100 | CREATE DATABASE sonarqube OWNER sonar; 101 | grant all privileges on DATABASE sonarqube to sonar; 102 | \q 103 | exit 104 | 105 | sleep 2 106 | echo -e "Bağımlılıklar Yükleniyor" 107 | sudo apt install –f 108 | 109 | sleep 2 110 | echo -e "5432 PORT" 111 | sudo netstat -ntlp | grep 5432 112 | sudo netstat -nlptu 113 | 114 | else 115 | echo -e "Yükleme Yapılmadı!!!\n " 116 | fi 117 | 118 | # Temizlik 119 | sleep 2 120 | echo -e "\n###### Cache Temizleme ######" 121 | read -p "Cache Temizleme istiyor musunuz? E / H " cleanResult 122 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 123 | then 124 | echo -e "\n######" $CLEANER "######" 125 | echo -e "Temizlik Başlandı... " 126 | sudo apt-get clean 127 | sudo apt-get autoremove -y 128 | else 129 | echo -e "Temizlik Yapılmadı!!!\n " 130 | fi 131 | 132 | 133 | sleep 2 134 | echo -e "\n###### BİTTİ ######" 135 | -------------------------------------------------------------------------------- /_2_Bash_Script/_1_common.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # Shell çalıştırmak 4 | # ./_1_common.sh 5 | 6 | # User Variable 7 | UPDATED="Güncelleme" 8 | NOT_UPDATED="Güncellenmedi" 9 | CLEANER="Temizleme" 10 | INSTALL="Yükleme" 11 | NOT_INSTALLED="Yüklenmedi" 12 | DELETED="Silme" 13 | COMMON_INFORMATION="Genel Bilgiler" 14 | ERROR="Hata" 15 | WARNING="Uyarı" 16 | SUCCESS="Başarılı" 17 | FAILED="Başarısız" 18 | NOT_FOUND="Bulunamadı" 19 | CHMOD="Dosya İzinleri Vermek" 20 | 21 | # Güncelleme 22 | sleep 2 23 | echo -e "\n $UPDATED " 24 | read -p "Güncelleme İstiyor musunuz ? E/H " updateUserResponse 25 | if [[ $updateUserResponse == "E" || $updateUserResponse == "e" ]] 26 | then 27 | echo -e "Güncelleme Başlandı... " 28 | sudo apt-get update && sudo apt-get upgrade -y 29 | else 30 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 31 | fi 32 | 33 | 34 | # Dosya İzinleri ver 35 | sleep 2 36 | echo -e "\n DOSYA IZINLERI" 37 | read -p "Dosyalara izin vermek istiyor musunuz E/H " chmodUserResponse 38 | if [[ $chmodUserResponse == "E" || $chmodUserResponse == "e" ]] 39 | then 40 | echo -e "\n Dosya İzinleri Yetkilendirilmeleri Veriliyor" 41 | sleep 1 42 | # chmod -R 777 /var/www/html 43 | sudo chmod +x _1_common.sh 44 | sudo chmod +x _2_git.sh 45 | sudo chmod +x _3_vs_code.sh 46 | sudo chmod +x _4_nodejs.sh 47 | sudo chmod +x _5_jdk.sh 48 | sudo chmod +x _6_maven.sh 49 | sudo chmod +x _7_apache_tomcat.sh 50 | sudo chmod +x _8_docker.sh 51 | sudo chmod +x _9_postgresql.sh 52 | sudo chmod +x _10_sonarQube.sh 53 | sudo chmod +x _14_AllVersion.sh 54 | echo -e "\n Dosya İzinleri Verildi" 55 | else 56 | echo -e "\n Dosya İzinleri Verilmedi" 57 | fi 58 | 59 | # Genel Bilgiler 60 | sleep 2 61 | echo -e "\n GENEL BILGILER" 62 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 63 | if [[ $commonResult == "E" || $commonResult == "e" ]] 64 | then 65 | echo -e "Genel Bilgiler Başlandı... " 66 | 67 | sleep 1 68 | echo -e "Ben Kimim ... " 69 | sudo whoami 70 | 71 | sleep 1 72 | echo -e "Linux Dağıtımı Bilgileri ... " 73 | sudo lsb_release -a 74 | 75 | sleep 1 76 | echo -e "Disk alanım. " 77 | sudo df -m 78 | 79 | sleep 1 80 | echo -e "IP ... " 81 | sudo ifconfig 82 | 83 | sleep 1 84 | echo -e "Portlar ... " 85 | sudo netstat -nlptu 86 | 87 | sleep 1 88 | echo -e "Ram ... " 89 | sudo free -m 90 | 91 | sleep 1 92 | echo -e "Cpu ... " 93 | sudo cat /proc/cpuinfo 94 | else 95 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 96 | fi 97 | 98 | 99 | # Yükleme 100 | sleep 2 101 | echo -e "\n GENEL YÜKLEME" 102 | read -p "Genel Yükleme Yapmak İstiyor musunuz E/H ? " commonResult 103 | if [[ $commonResult == "E" || $commonResult == "e" ]] 104 | then 105 | echo -e "Genel Yükleme Bilgileri Başlandı... " 106 | 107 | sleep 1 108 | pwd 109 | echo -e "Genel yükleme başlıyor ... " 110 | sudo apt-get install -y net-tools 111 | sudo apt-get install -y openssh-server 112 | sudo apt-get install -y curl 113 | sudo apt-get install -y wget 114 | sudo apt-get install -y git 115 | sudo apt-get install -y vim 116 | sudo apt-get install -y nano 117 | sudo apt-get install -y zip 118 | sudo apt-get install -y unzip 119 | sudo apt-get install -y tar 120 | sudo apt-get install -y gzip 121 | sudo apt-get install -y bzip2 122 | sudo apt-get install -y rar 123 | sudo apt-get install -y unrar 124 | else 125 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 126 | fi 127 | 128 | 129 | # PORT 130 | sleep 2 131 | echo -e "\n PORT" 132 | read -p "Port Aktif etmek ve izin Vermek istiyor musunuz ? E/H " updateUserResponse 133 | if [[ $updateUserResponse == "E" || $updateUserResponse == "e" ]] 134 | then 135 | echo -e "Port İşlemlerine Başlandı... " 136 | sudo netstat -nlptu 137 | sudo ufw allow 22 138 | sudo ufw allow 80 139 | sudo ufw allow 443 140 | sudo ufw allow 1111 141 | sudo ufw allow 2222 142 | sudo ufw allow 3333 143 | sudo ufw allow 4444 144 | sudo ufw allow 8080 145 | sudo ufw allow 8000 146 | sudo ufw allow 9000 147 | sudo ufw allow 3306 148 | sudo ufw allow 5432 149 | else 150 | echo -e "Port Güncelleme Yapılmadı!!!\n " 151 | fi 152 | 153 | # TEMİZLEME 154 | sleep 2 155 | echo -e "\n TEMİZLE" 156 | read -p "Cache yapmak istiyor musunuz ? E/H " updateUserResponse 157 | if [[ $updateUserResponse == "E" || $updateUserResponse == "e" ]] 158 | then 159 | echo -e "\nTemizle Başlandı... " 160 | sudo apt-get clean 161 | sudo apt-get autoremove -y 162 | 163 | else 164 | echo -e "Temizlik Yapılmadı!!!\n " 165 | fi -------------------------------------------------------------------------------- /_3_Git_GitHub/1_Git_Information.txt: -------------------------------------------------------------------------------- 1 | Git 2 | --- 3 | 2005 Linus Torvalds 4 | Ücretsiz 5 | Açık kaynak kodludur. 6 | YEdekleme imkanı sağlar 7 | Proje takibini sağlar. 8 | Birden fazla kişilerle çalışmayı sağlar. 9 | Global Information Tracked 10 | VCS: Version Control FileSystem 11 | En önemli özelliği dağıtık mimariye ship olmasıdır. 12 | 13 | --------------------------------------------------------------- 14 | ## INIT ## 15 | git init 16 | git status 17 | git add . 18 | git commit -m "Dev-Middle-Project" 19 | git remote add origin URL 20 | git push -u origin master (u => --set-upstream) 21 | git push 22 | 23 | --------------------------------------------------------------- 24 | ## CLONE ## 25 | git clone https://github.com/hamitmizrak/Techcareer-Middle-DevOps-Subat 26 | 27 | 28 | --------------------------------------------------------------- 29 | ## CONFIG ## 30 | git config --global user.name 31 | git config --global user.name "Hamit Mızrak" 32 | git config --global user.email 33 | git config --global user.email "hamitmizrak@gmail.com" 34 | git config --global -l 35 | git config --global core.editor "notepad++" 36 | 37 | --------------------------------------------------------------- 38 | ## GIT COMMON ## 39 | git --help (Komutları hatırlamak) 40 | git status (Durumu öğrenmek) 41 | 42 | --------------------------------------------------------------- 43 | ## ADD ## 44 | git add . 45 | git commit -m "Data" 46 | 47 | # Add komutunu yazmadan direk commit üzerinden add yapalım. 48 | git commit -a -m "Data2" 49 | 50 | 51 | --------------------------------------------------------------- 52 | ## ALIAS ## 53 | git log 54 | git log --decorate --oneline --graph --all 55 | git config --global alias.log44 "log --decorate --oneline --graph --all" 56 | git log44 57 | 58 | 59 | --------------------------------------------------------------- 60 | ## REMOTE ## 61 | git remote 62 | URL Değiştirmek => git remote set-url origin2 yeniURL 63 | 64 | 65 | --------------------------------------------------------------- 66 | ## CHECKOUT/SWITCH ## 67 | Dikkat: checkout tyapmadan önce add yapmanız gerekmektedir. 68 | git log 69 | git checkout hashCode(En az 7 karakter) 70 | git checkout master 71 | 72 | --------------------------------------------------------------- 73 | ## STASH ## 74 | Dikkat: stash tyapmadan önce add yapmanız gerekmektedir. 75 | git add . 76 | git stash 77 | git stash save "customiseStashName" 78 | git stash list 79 | git stash apply stash@{0} 80 | git stash drop stash@{0} 81 | git stash pop 82 | 83 | 84 | --------------------------------------------------------------- 85 | ## BRANCH/ MERGE/REBASE ## 86 | git branch -M main 87 | git add . 88 | git commit -m "branch öncesi" 89 | git push 90 | 91 | git branch (local branch) 92 | git branch -a (Remote+local branch) 93 | 94 | git log44 95 | 96 | git branch backend (branch oluştur) 97 | git checkout backend (branch dallan) 98 | git add . 99 | git commit -m "backend" 100 | git push origin backend (backend push) 101 | cat >> backend.txt 102 | git add . 103 | git commit -m "backend data" 104 | git push -u origin backend 105 | git commit -a -m "backend data-2" 106 | git push 107 | git switch master 108 | git checkout master 109 | git merge backend 110 | git branch -D backend (silme) 111 | 112 | git checkout master 113 | git merge backend (backend'i master'a birleştirme) 114 | git merge backend --no-ff (backend'i master'a birleştirme) 115 | cat >> frontend.txt 116 | git add . 117 | git commit -m "backend data" 118 | git push -u origin backend 119 | git commit -a -m "backend data-2" 120 | git push 121 | git switch master 122 | git checkout master 123 | git merge backend 124 | 125 | git checkout -b frontend (branch oluşturup dallanma) 126 | 127 | --------------------------------------------------------------- 128 | ## REBASE ## 129 | 130 | --------------------------------------------------------------- 131 | ## PULL/FETCH ## 132 | git pull origin master 133 | git pull origin backend 134 | git pull origin frontend 135 | 136 | git remote 137 | git remote -v 138 | 139 | git fetch origin 140 | git branch -a 141 | git checkout remotes/origin/master 142 | git checkout master 143 | git merge origin/master 144 | 145 | --------------------------------------------------------------- 146 | ## TAG ## 147 | git tag -a v1.0.0 -m "version 1.0" 148 | git tag 149 | git show v1.0.0 150 | git push origin v1.0.0 151 | git push origin --tags 152 | git tag -d v1.0.0 153 | git push origin :refs/tags/v1.0.0 154 | 155 | --------------------------------------------------------------- 156 | ## GİTHUB ## 157 | Tamamdır. 158 | 159 | --------------------------------------------------------------- 160 | ## SSH-KEYGEN ## 161 | ssh-keygen -t rsa -b 4096 -C "hamitmizrak@gmail.com" 162 | eval `ssh-agent -s` ==> Agent pid 681 163 | ssh -T git@github.com ==> SSH bağlantısı yapıldı mı ? 164 | 165 | Windows => C:\Users\90553\.ssh 166 | Linux => cd ~/.ssh/id_rsa.pub 167 | Public Şifre verdi 168 | 169 | GitHub Adresine Yapıştır 170 | https://github.com/settings/keys 171 | 172 | 173 | --------------------------------------------------------------- 174 | ## CONFLICT ## 175 | 176 | -------------------------------------------------------------------------------- /_2_Bash_Script/_8_docker.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "DOCKER" 3 | 4 | # User Variable 5 | UPDATED="Güncelleme" 6 | CLEANER="Temizleme" 7 | INSTALL="Yükleme" 8 | DELETED="Silme" 9 | WHICH="Nerede ?" 10 | COMMONINFORMATION=" Genel Bilgiler" 11 | LOGIN="Docker Login" 12 | LOGOUT="Docker Logout" 13 | DOCKER_PULL="Docker Pulling" 14 | 15 | # System Variable 16 | 17 | # Updated 18 | sleep 2 19 | echo -e "\n### ${UPDATED} ###" 20 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 21 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 22 | then 23 | echo -e "Güncelleme Başlandı... " 24 | sudo apt-get update && sudo apt-get upgrade -y 25 | else 26 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 27 | fi 28 | 29 | 30 | # Common 31 | sleep 2 32 | echo -e "\n### ${COMMONINFORMATION} ###" 33 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 34 | if [[ $commonResult == "E" || $commonResult == "e" ]] 35 | then 36 | echo -e "Genel Bilgiler Başlandı... " 37 | echo -e "Ben Kimim ... " 38 | sudo whoami 39 | echo -e "IP ... " 40 | sudo ifconfig 41 | echo -e "Portlar ... " 42 | sudo netstat -nlptu 43 | echo -e "Ram ... " 44 | sudo free -m 45 | else 46 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 47 | fi 48 | 49 | # DOCKER 50 | sleep 2 51 | echo -e "\n###### DOCKER ######" 52 | read -p "DOCKER Yükleme istiyor musunuz? E / H " installingResult 53 | if [[ $installingResult == "E" || $installingResult == "e" ]] 54 | then 55 | # Java 56 | echo -e "\n###### DOCKER" $INSTALL "######" 57 | echo -e "\n######" $WHICH "######" 58 | which maven 59 | which java 60 | which git 61 | sudo apt-get update 62 | java -version 63 | git -v 64 | maven -v 65 | 66 | # Eğer önceden Docker varsa sil 67 | sudo apt-get purge docker-ce docker-ce-cli containerd.io -y 68 | sudo rm -rf /var/lib/docker 69 | sudo rm -rf /var/lib/containerd 70 | sudo apt-get clean 71 | sudo apt-get autoremove -y 72 | sudo apt-get update 73 | sudo apt-get remove docker docker-engine docker.io containerd runc 74 | sudo apt-get update 75 | sudo apt-get upgrade 76 | 77 | ### HTTPS üzerinden bir depo kullanmasına izin vermek için################################## 78 | sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y 79 | 80 | ### Docker’ın resmi GPG anahtarını ekleyiniz. curl aracı ile GPG anahtarını komut içerisine aktarınız 81 | sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 82 | sudo apt-key fingerprint 0EBFCD88 83 | 84 | ### curl aracı ile Docker apt deposunu eklemek 85 | sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 86 | 87 | ###############DOCKER KURULUMU########################################## 88 | sudo apt-get update 89 | sudo apt-get install docker-ce docker-ce-cli containerd.io -y 90 | 91 | # sudo systemctl status docker 92 | # sleep 2 93 | # q 94 | sudo systemctl enable --now docker 95 | sudo systemctl start docker 96 | # sudo systemctl status docker 97 | 98 | ### kullanıcı adınızı docker grubuna ekle 99 | sudo usermod -aG docker ${USER} 100 | 101 | su - ${USER} 102 | sudo id -NG 103 | sudo apt-get install bash-completion 104 | docker version 105 | docker run hello-world 106 | sleep 1 107 | echo -e "Bağımlılıklar Yükleniyor" 108 | sudo apt install –f 109 | else 110 | echo -e "Docker Güncelleme Yapılmadı!!!\n " 111 | fi 112 | 113 | 114 | 115 | 116 | # Docker Login 117 | sleep 2 118 | echo -e "\n### ${LOGIN} ###" 119 | read -p "\nDockerHub'a Giriş yapmak istiyor musunuz ? E/H? " updatedResult 120 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 121 | then 122 | echo -e "Docker Login ... " 123 | sudo docker login 124 | else 125 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 126 | fi 127 | 128 | 129 | # Docker Logout 130 | sleep 2 131 | echo -e "\n### ${LOGOUT} ###" 132 | read -p "\nDockerHub'a Çıkış yapmak istiyor musunuz ? E/H? " updatedResult 133 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 134 | then 135 | echo -e "Docker Login ... " 136 | sudo docker logout 137 | else 138 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 139 | fi 140 | 141 | 142 | # Docker Pull 143 | sleep 2 144 | echo -e "\n### ${DOCKER_PULL} ###" 145 | read -p "\nDockerHub'a Pull yapmak istiyor musunuz ? E/H? " updatedResult 146 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 147 | then 148 | echo -e "Docker Pulling ... " 149 | sudo docker pull nginx 150 | sudo docker pull httpd 151 | sudo docker pull mysql 152 | sudo docker pull mongo 153 | sudo docker pull ubuntu 154 | sudo docker pull centos 155 | else 156 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 157 | fi 158 | 159 | # Temizlik 160 | sleep 2 161 | echo -e "\n###### Cache Temizleme ######" 162 | read -p "Cache Temizleme istiyor musunuz? E / H " cleanResult 163 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 164 | then 165 | echo -e "\n######" $CLEANER "######" 166 | echo -e "Temizlik Başlandı... " 167 | sudo apt-get clean 168 | sudo apt-get autoremove -y 169 | else 170 | echo -e "Temizlik Yapılmadı!!!\n " 171 | fi 172 | 173 | 174 | sleep 2 175 | echo -e "\n###### BİTTİ ######" 176 | -------------------------------------------------------------------------------- /_5_SonarQube/conf/wrapper.conf: -------------------------------------------------------------------------------- 1 | # Java Additional Parameters 2 | wrapper.java.additional.1=-Djava.awt.headless=true 3 | wrapper.java.additional.2=-XX:MaxPermSize=128m 4 | 5 | # RECOMMENDED : uncomment if Java Virtual Machine is a JDK but not a JRE. To know which JVM you use, execute 6 | # 'java -version'. JDK displays 'Server VM'. 7 | # wrapper.java.additional.3=-server 8 | 9 | # Initial Java Heap Size (in MB) 10 | wrapper.java.initmemory=256 11 | 12 | # Maximum Java Heap Size (in MB) 13 | wrapper.java.maxmemory=512 14 | 15 | #******************************************************************** 16 | # Wrapper Java Properties 17 | #******************************************************************** 18 | # JVM 19 | # Can be an absolute path, for example: 20 | wrapper.java.command=C:\Program Files\Java\jdk-11\bin/java 21 | #wrapper.java.command=java 22 | 23 | # Java Main class. This class must implement the WrapperListener interface 24 | # or guarantee that the WrapperManager class is initialized. Helper 25 | # classes are provided to do this for you. See the Integration section 26 | # of the documentation for details. 27 | wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp 28 | 29 | # Java Classpath (include wrapper.jar) Add class path elements as 30 | # needed starting from 1 31 | wrapper.java.classpath.1=../../lib/*.jar 32 | wrapper.java.classpath.2=../../ 33 | wrapper.java.classpath.3=../../extensions/jdbc-driver/mysql/*.jar 34 | wrapper.java.classpath.4=../../extensions/jdbc-driver/oracle/*.jar 35 | wrapper.java.classpath.5=../../extensions/jdbc-driver/postgresql/*.jar 36 | wrapper.java.classpath.6=../../extensions/jdbc-driver/mssql/*.jar 37 | 38 | # Java Library Path (location of Wrapper.DLL or libwrapper.so) 39 | wrapper.java.library.path.1=./lib 40 | 41 | # Application parameters. Add parameters as needed starting from 1 42 | wrapper.app.parameter.1=org.sonar.application.StartServer 43 | 44 | #******************************************************************** 45 | # Profiling and debbuging - for development only 46 | # If wrapper.java.additional.3=-server is not commented, parameter ids should start from 4 instead of 3. 47 | #******************************************************************** 48 | # Java remote debugging 49 | #wrapper.java.additional.3=-agentlib:jdwp=transport=dt_socket,server=y,address=8000 50 | 51 | # JProfiler 5 52 | #wrapper.java.additional.3=-Xint 53 | #wrapper.java.additional.4=-agentlib:jprofilerti=port=8849 54 | #wrapper.java.additional.5=-Xbootclasspath/a:/Applications/jprofiler5/bin/agent.jar 55 | 56 | # JMX remote monitoring on Sun JVM (warning, security is disabled) 57 | #wrapper.java.additional.3=-Dcom.sun.management.jmxremote 58 | #wrapper.java.additional.4=-Dcom.sun.management.jmxremote.port=9005 59 | #wrapper.java.additional.5=-Dcom.sun.management.jmxremote.authenticate=false 60 | #wrapper.java.additional.6=-Dcom.sun.management.jmxremote.ssl=false 61 | 62 | #******************************************************************** 63 | # Wrapper Logging Properties 64 | #******************************************************************** 65 | # Format of output for the console. (See docs for formats) 66 | wrapper.console.format=PM 67 | 68 | # Log Level for console output. (See docs for log levels) 69 | wrapper.console.loglevel=INFO 70 | 71 | # Log file to use for wrapper output logging. 72 | wrapper.logfile=../../logs/sonar.log 73 | 74 | # Format of output for the log file. (See docs for formats) 75 | wrapper.logfile.format=LPTM 76 | 77 | # Log Level for log file output. (See docs for log levels) 78 | wrapper.logfile.loglevel=INFO 79 | 80 | # Maximum size that the log file will be allowed to grow to before 81 | # the log is rolled. Size is specified in bytes. The default value 82 | # of 0, disables log rolling. May abbreviate with the 'k' (kb) or 83 | # 'm' (mb) suffix. For example: 10m = 10 megabytes. 84 | #wrapper.logfile.maxsize=0 85 | 86 | # Maximum number of rolled log files which will be allowed before old 87 | # files are deleted. The default value of 0 implies no limit. 88 | #wrapper.logfile.maxfiles=0 89 | 90 | # Log Level for sys/event log output. (See docs for log levels) 91 | wrapper.syslog.loglevel=NONE 92 | 93 | #******************************************************************** 94 | # Wrapper Windows Properties 95 | #******************************************************************** 96 | # Title to use when running as a console 97 | wrapper.console.title=Sonar 98 | 99 | # Disallow start of multiple instances of an application at the same time on Windows 100 | wrapper.single_invocation=true 101 | 102 | #******************************************************************** 103 | # Wrapper Windows NT/2000/XP Service Properties 104 | #******************************************************************** 105 | # WARNING - Do not modify any of these properties when an application 106 | # using this configuration file has been installed as a service. 107 | # Please uninstall the service before modifying this section. The 108 | # service can then be reinstalled. 109 | 110 | # Name of the service 111 | wrapper.ntservice.name=Sonar 112 | 113 | # Display name of the service 114 | wrapper.ntservice.displayname=Sonar 115 | 116 | # Description of the service 117 | wrapper.ntservice.description=Sonar 118 | 119 | # Service dependencies. Add dependencies as needed starting from 1 120 | wrapper.ntservice.dependency.1= 121 | 122 | # Mode in which the service is installed. AUTO_START or DEMAND_START 123 | wrapper.ntservice.starttype=AUTO_START 124 | 125 | # Allow the service to interact with the desktop. 126 | wrapper.ntservice.interactive=false 127 | 128 | #******************************************************************** 129 | # restart the process if CPU is heavily loaded during 240 seconds. 130 | wrapper.ping.timeout=240 131 | -------------------------------------------------------------------------------- /_2_Bash_Script/_10_sonarQube.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "SonarQube Yüklerken bunlara dikkat et" 3 | sleep 2 4 | echo -e "Ubuntu 22.04 LTS with minimum 2GB RAM and 1 CPU." 5 | sleep 2 6 | echo -e "PostgreSQL Version 9.3 or higher." 7 | sleep 2 8 | echo -e "SSH access with sudo privileges" 9 | sleep 2 10 | echo -e "Firewall Port: 9000 yapmalısın" 11 | 12 | 13 | # User Variable 14 | UPDATED="Güncelleme" 15 | CLEANER="Temizleme" 16 | INSTALL="Yükleme" 17 | DELETED="Silme" 18 | WHICH="Nerede ?" 19 | VERSION=Version 20 | COMMONINFORMATION=" Genel Bilgiler" 21 | 22 | # System Variable 23 | 24 | # Updated 25 | sleep 2 26 | echo -e "\n### ${UPDATED} ###" 27 | read -p "Güncelleme istiyor musunuz E/H ? " updatedResult 28 | if [[ $updatedResult == "E" || $updatedResult == "e" ]] 29 | then 30 | echo -e "Güncelleme Başlandı... " 31 | sudo apt-get update && sudo apt-get upgrade -y 32 | else 33 | echo -e "apt-get Update List Güncelleme Yapılmadı!!!\n " 34 | fi 35 | 36 | 37 | # Common 38 | sleep 2 39 | echo -e "\n### ${COMMONINFORMATION} ###" 40 | read -p "Genel Bilgiler istiyor musunuz E/H ? " commonResult 41 | if [[ $commonResult == "E" || $commonResult == "e" ]] 42 | then 43 | echo -e "Genel Bilgiler Başlandı... " 44 | echo -e "Ben Kimim ... " 45 | sudo whoami 46 | echo -e "IP ... " 47 | sudo ifconfig 48 | echo -e "Portlar ... " 49 | sudo netstat -nlptu 50 | echo -e "Ram ... " 51 | sudo free -m 52 | else 53 | echo -e "Genel Bilgiler Gösterilmediı!!!\n " 54 | fi 55 | 56 | # Yükleme 57 | sleep 2 58 | echo -e "\n### ${UPDATED} ###" 59 | read -p "SonarQube'i Yükleme istiyor musunuz E/H ? " installingResult 60 | if [[ $installingResult == "E" || $installingResult == "e" ]] 61 | then 62 | echo -e "###### Yükleme Başlandı... ###### " 63 | sudo ufw allow 9000 64 | 65 | sleep 2 66 | sudo sysctl -w vm.max_map_count=524288 67 | sudo sysctl -w fs.file-max=131072 68 | sudo ulimit -n 131072 69 | sudo ulimit -u 8192 70 | sudo ufw allow 9000 71 | 72 | sleep 2 73 | #echo -e "#SonarQube Home\nsonarqube - nofile 65536\nsonarqube - nproc 4096 " >> /etc/security/limits.conf 74 | echo -e "#SonarQube Home\nsonarqube - nofile 65536\nsonarqube - nproc 4096 " | sudo tee --append /etc/security/limits.conf 75 | 76 | cd /tmp 77 | sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.0.65466.zip 78 | sudo unzip sonarqube-9.9.0.65466.zip -d /opt 79 | sudo mv /opt/sonarqube-9.9.0.65466 /opt/sonarqube 80 | sudo groupadd sonar 81 | sudo useradd -c "user to run SonarQube" -d /opt/sonarqube -g sonar sonar 82 | sudo chown sonar:sonar /opt/sonarqube -R 83 | echo -e "### Sonar Config Yükleme Başlandı... " 84 | echo -e "#SonarQube Config" | sudo tee --append /opt/sonarqube/conf/sonar.properties 85 | echo -e "sonar.jdbc.username=sonar" | sudo tee --append /opt/sonarqube/conf/sonar.properties 86 | echo -e "sonar.jdbc.password=sonarqube" | sudo tee --append /opt/sonarqube/conf/sonar.properties 87 | echo -e "sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube" | sudo tee --append /opt/sonarqube/conf/sonar.properties 88 | echo -e "sonar.web.port=9000 " | sudo tee --append /opt/sonarqube/conf/sonar.properties 89 | echo -e "#sonar.web.host=127.0.0.1 " | sudo tee --append /opt/sonarqube/conf/sonar.properties 90 | echo -e "#sonar.web.context=/sonar" | sudo tee --append /opt/sonarqube/conf/sonar.properties 91 | echo -e "RUN_AS_USER=sonar" | sudo tee --append /opt/sonarqube/bin/linux-x86-64/sonar.sh 92 | 93 | echo -e "#my special Sonar" | sudo tee --append /etc/systemd/system/sonar.service 94 | echo -e "[Unit]" | sudo tee --append /etc/systemd/system/sonar.service 95 | echo -e "Description=SonarQube service" | sudo tee --append /etc/systemd/system/sonar.service 96 | echo -e "After=syslog.target network.target" | sudo tee --append /etc/systemd/system/sonar.service 97 | echo -e "[Service]" | sudo tee --append /etc/systemd/system/sonar.service 98 | echo -e "Type=forking" | sudo tee --append /etc/systemd/system/sonar.service 99 | echo -e "ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start" | sudo tee --append /etc/systemd/system/sonar.service 100 | echo -e "ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop" | sudo tee --append /etc/systemd/system/sonar.service 101 | echo -e "User=sonar" | sudo tee --append /etc/systemd/system/sonar.service 102 | echo -e "Group=sonar" | sudo tee --append /etc/systemd/system/sonar.service 103 | echo -e "Restart=always" | sudo tee --append /etc/systemd/system/sonar.service 104 | echo -e "LimitNOFILE=65536" | sudo tee --append /etc/systemd/system/sonar.service 105 | echo -e "LimitNPROC=4096" | sudo tee --append /etc/systemd/system/sonar.service 106 | echo -e "[Install]" | sudo tee --append /etc/systemd/system/sonar.service 107 | echo -e "WantedBy=multi-user.target" | sudo tee --append /etc/systemd/system/sonar.service 108 | 109 | 110 | echo -e "Bağımlılıklar Yükleniyor" 111 | sudo apt install –f 112 | 113 | echo -e "### Sudo su sonar başladı... ################################ " 114 | # sudo su sonar 115 | # echo -e "./sonar.sh start" | sudo tee --append /opt/sonarqube/bin/linux-x86-64 116 | # echo -e "./sonar.sh status" | sudo tee --append /opt/sonarqube/bin/linux-x86-64 117 | # echo -e "tail" | sudo tee --append /opt/sonarqube/logs/sonar.log 118 | # echo -e "./sonar.sh stop" | sudo tee --append /opt/sonarqube/bin/linux-x86-64 119 | # exit 120 | sudo su sonar 121 | cd /opt/sonarqube/bin/linux-x86-64/ 122 | ./sonar.sh start 123 | ./sonar.sh status 124 | tail /opt/sonarqube/logs/sonar.log 125 | cd /opt/sonarqube/bin/linux-x86-64/ 126 | ./sonar.sh stop 127 | exit 128 | 129 | # bunu yazmazsan çalışmaz 130 | sudo sysctl -w vm.max_map_count=262144 131 | sysctl vm.max_map_count 132 | sudo netstat -ntlp | grep 9000 133 | #journalctl -u sonar 134 | 135 | echo -e "### systemctl daemon-reload ################################ " 136 | sudo systemctl daemon-reload 137 | sudo systemctl enable sonar 138 | sudo systemctl start sonar 139 | sudo systemctl restart sonar 140 | else 141 | echo -e "Yükleme Yapılmadı!!!\n " 142 | fi 143 | 144 | # Temizlik 145 | sleep 2 146 | echo -e "\n###### Cache Temizleme ######" 147 | read -p "Cache Temizleme istiyor musunuz? E / H " cleanResult 148 | if [[ $cleanResult == "E" || $cleanResult == "e" ]] 149 | then 150 | echo -e "\n######" $CLEANER "######" 151 | echo -e "Temizlik Başlandı... " 152 | sudo apt-get clean 153 | sudo apt-get autoremove -y 154 | else 155 | echo -e "Temizlik Yapılmadı!!!\n " 156 | fi 157 | 158 | 159 | sleep 2 160 | echo -e "\n###### BİTTİ ######" 161 | -------------------------------------------------------------------------------- /_1_Linux_Ubuntu/1_Linux_ubuntu_Information.txt: -------------------------------------------------------------------------------- 1 | İşletim Sistemi = Donanım+Yazılım 2 | 3 | İşletim Sistemi yapıları = Kernel(Çekirdek) + Shell(Kabuk) 4 | Shell(Kabuk) = Kullanıcıdan gelen istekleri (Request) , kernel(Çekirdeğe) iletiyor. 5 | Kernel(Çekirdek): Yazılım + Donanım arasındaki haberleşmeyi sağlıyor. 6 | End user(Son kullanıcı) Client 7 | 8 | Shell 9 | bash ( Bourne Again Shell ) : Linux Default gelen kabuttur. 10 | sh 11 | 12 | ------------------------------------------------------------------------- 13 | 14 | Port 15 | 2^16= 65536 port 16 | 0 <= PORT <= 1023 (Well-Know Port) 17 | 0 => 18 | 20 => FTP (File Transfer Protocol) 19 | 22 => SSH 20 | 23 => Telnet 21 | 80 => Http Reverse Proxy (nginx) 22 | 80 => Http Reverse Proxy (docker) 23 | 443 => Https SSL 24 | 25 | 26 | 1024 <= PORT <= 49151 (Registed Port) 27 | 3306 => Mysql 28 | 5432 => Postgresql 29 | 6379 => Redis 30 | 27017 => Mongo 31 | 3000 => Node js + React JS 32 | 33 | 34 | 49152<= PORT <= 65535 ( Dynamics Port) 35 | sudo ufw status (inactive) 36 | sudo ufw enable 37 | sudo ufw allow 22 38 | sudo -nlptu 39 | sudo netstat -nlptu 40 | 41 | 42 | ------------------------------------------------------------------------- 43 | 44 | Linux, Ubuntu, Centos 45 | Linux: 1990 Linus Torvalds yazıldı. 46 | Linux ücretsiz 47 | Unix ücretli 48 | Ubuntu = Linux dağıtımlarından en popüler olanıdır. 49 | Canonical Company sağlanıyor. 50 | GNU : Gnu is Not Unit 51 | GPL : Free as In Freedom (GNU General Public Lisans) 52 | GPL Temel Özgürlük İlkesi 53 | programı sınırsız kullan. 54 | programı inceleme, değiştirme. 55 | programı kopyalama. 56 | programı dağıt. 57 | 58 | 59 | ------------------------------------------------------------------------- 60 | 61 | Ubuntu; 62 | Ubuntu: Güney Afrika dilinde Başka nesneler saygıdır. 63 | bir linux dağıtımıdır. 64 | İşletim sistemidir. 65 | Ücretsiz 66 | Açık kaynak kodludur (opan source) 67 | Ubuntu Debian kernel(Çekirdek) 68 | Linux ==> Debian ==> Ubuntu 69 | 2004 yılında piyasaya sürülmüştür. 70 | 71 | ------------------------------------------------------------------------- 72 | 73 | PID: Process ID 74 | clear 75 | 76 | ------------------------------------------------------------------------- 77 | 78 | sudo apt-get update 79 | sudo apt-get upgrade 80 | sudo apt-get upgrade -y 81 | sudo apt-get dist-upgrade 82 | 83 | sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade 84 | 85 | ------------------------------------------------------------------------- 86 | 87 | Http 88 | Http Status Codes 89 | 1XX = Information 90 | 2XX = Success 91 | 3XX = Redirection 92 | 4XX = Client Error 93 | 5XX = Server Error 94 | 95 | ------------------------------------------------------------------------- 96 | 97 | Operation Format Installing 98 | ubuntu deb apt,apt-get 99 | centos rpm yum 100 | fedora rpm dnf 101 | 102 | sudo apt-get install vim 103 | sudo apt install vim 104 | sudo apt install vim -y 105 | sudo apt install -f vim -y (Eğer yükleme zamanında eksik dosyalar varsa sisteme yüklesin) 106 | 107 | apt install leafpad 108 | 109 | 110 | ------------------------------------------------------------------------- 111 | 112 | Linux Dosya Sistemleri 113 | cd / 114 | cd ~ 115 | 116 | /boot 117 | /dev => 118 | /etc => 119 | /home => 120 | /lib => 121 | /media => 122 | /opt => Opsiyonel 123 | /proc => kaynak bilgileri 124 | /root => dosya dizini 125 | /snap => yeni nesil paket yönetimi 126 | /tmp => geçici dosyaları 127 | /var => dinamik olarak değişen log, mailbox dosyalar burada barındırılır. 128 | 129 | 130 | ------------------------------------------------------------------------- 131 | 132 | lsb_release -a (Linux Dağıtımı hakkında bilgi almak kullanırız.) 133 | 134 | ------------------------------------------------------------------------- 135 | 136 | clear 137 | sudo apt-get install vlc 138 | sudo snap install vlc 139 | sudo snap list 140 | sudo snap reflesh 141 | sudo snap remove vlc --purge 142 | 143 | ------------------------------------------------------------------------- 144 | 145 | curl --version 146 | sudo apt install curl 147 | curl --version 148 | curl google.com 149 | ping google.com 150 | man mkdir 151 | info mkdir 152 | whereis java 153 | hostname (Ağ adı) 154 | hostname --help 155 | pwd (Print Working Directory) 156 | clear 157 | history 158 | whoami 159 | wget : İnternetten bir şey indirmek istersek 160 | wget URL 161 | ------------------------------------------------------------------------- 162 | 163 | cd . 164 | cd .. 165 | cd ~ 166 | cd ~/Desktop 167 | cd / 168 | 169 | ls -l 170 | ls -al 171 | ls -lar 172 | 173 | 174 | mkdir deneme 175 | mkdir deneme1 deneme2 176 | mkdir deneme3\dosyaadi 177 | 178 | cat > deneme.txt (Bütün dosyayı sil sadece son eklediğimi ekle) 179 | cat >> deneme.txt 180 | 181 | mv deneme.txt deneme1.txt 182 | mv deneme1.txt dizinAdi 183 | 184 | cp deneme1.txt /app/deneme2.txt 185 | 186 | diff deneme1.txt deneme2.txt 187 | 188 | rmdir dizin 189 | rm dosyaAdi 190 | mkdir deneme\ asd 191 | 192 | rm -rf dizinAdi (iç içe dizin varsa silebiliyorsunuz) 193 | 194 | ------------------------------------------------------------------------- 195 | 196 | whereis java 197 | which ls 198 | whatis mkdir 199 | info mkdir 200 | man mkdir 201 | 202 | 203 | ------------------------------------------------------------------------- 204 | 205 | Editör 206 | 207 | cat >> deneme.txt 208 | tac >> deneme.txt 209 | 210 | vim deneme.txt 211 | vi deneme.txt 212 | nano deneme.txt 213 | 214 | tail deneme.txt => (Sondan 10 satırı göster) 215 | head -n 15 deneme.txt => (Baştan 15 satırı göster) 216 | tail -n 15 deneme.txt => (Sondan 15 satırı göster) 217 | 218 | grep satır deneme.txt (Arama Yapmak) 219 | 220 | 221 | ------------------------------------------------------------------------- 222 | Editör 223 | Giresun BJK - g j k 224 | 225 | sudo apt install vim -y 226 | 227 | vim deneme.txt 228 | 229 | i = Insert Mode 230 | esc 231 | :wq! kaydet ve çık 232 | :q! kaydetmeden çık 233 | 234 | esc 235 | g => İlk satıra git 236 | 5j => 5 satır alta in. 237 | 5k => 5 satır yukarı çık 238 | 239 | 240 | ------------------------------------------------------------------------- 241 | 242 | Yetkilendirilme 243 | sudo: super admin (SuperUserDo) 244 | su : switch user (başka bir kullanıcıya geçiş yapmak istiyorsak) 245 | su root 246 | su hamit 247 | 248 | ls -al 249 | drwxr-xr-x 250 | d rwx r-x r-x 251 | d = director 252 | r = read 253 | w = write 254 | x = execute 255 | 256 | 700= sadece ben 257 | 755 258 | 777 259 | 260 | r w x 261 | 2^2=4 2^1= 2 2^0=1 262 | d rwx r-x r-x 263 | 421 401 401 264 | 7 5 5 265 | 7 = dosya sahibi 266 | 5 = aynı gruptakiler 267 | 5 = diğer gruptakiler 268 | 269 | 270 | chown => Bir dosyanın yetkisini başka birine vermek istiyorsak. 271 | chown writer deneme.txt service 272 | chmod 755 deneme.txt 273 | 274 | 275 | ------------------------------------------------------------------------- 276 | 277 | uname : Linux bilgisini veriyor. 278 | df : disk bilgisini 279 | df -m : megabayt 280 | lshw : donanım bilgisi 281 | lshw -short : donanım bilgisi (kısaltmış) 282 | cat /proc/cpuinfo : CPU 283 | free -m : Ram bilgisi 284 | 285 | 286 | 287 | ------------------------------------------------------------------------- 288 | Sıkıştırma: 289 | tar: Tape Archive 290 | 291 | c:Create 292 | f:file 293 | ./*= bütün dosyalar 294 | 295 | tar -cf dosyaAdi.tar ./* (Sıkıştırma yapmadan tek dosya haline getir) 296 | tar -xf dosyaAdi.tar (dosyaları teker teker liste) 297 | 298 | tar -zcf dosyaAdi.tar.gz ./* (Sıkıştırma yap tek dosya haline getir) 299 | tar -zxf dosyaAdi.tar.gz (dosyaları teker teker liste) 300 | 301 | */ 302 | ------------------------------------------------------------------------- 303 | 304 | top 305 | kill pidNumarasi 306 | kill -9 pidNumarasi 307 | 308 | ------------------------------------------------------------------------- 309 | 310 | exit 311 | reboot 312 | shutdown 313 | ifconfig : ip bilgisini almak 314 | lastlog : kullanıcıları sisteme ne zaman giriş yaptıklarını listelesin 315 | sudo lastb : Başarısız girişlerde 316 | ps : o anda root kullanıcı ne ile çalışıyor 317 | pstree techcareer : o anda techcareer kullanıcısı ne yapıyor. 318 | 319 | ------------------------------------------------------------------------- 320 | pstree techcareer 321 | 322 | ------------------------------------------------------------------------- 323 | Log: Bilgiler 324 | cat /var/log/auth.log 325 | 326 | paste deneme.txt deneme2.txt 327 | 328 | ------------------------------------------------------------------------- 329 | Service 330 | systemctl start programAdi 331 | systemctl status programAdi 332 | systemctl restart programAdi 333 | systemctl stop programAdi 334 | systemctl enable programAdi (Server başlatıldığında otomatik olarak bu programda başlasın) 335 | systemctl disable programAdi (Server başlatıldığında otomatik olarak bu programda başlamasın) 336 | 337 | ------------------------------------------------------------------------- 338 | 339 | Calendar 340 | sudo apt install ncal 341 | cal 342 | cal 2 2024 343 | cal 2024 344 | 345 | 346 | ------------------------------------------------------------------------- 347 | uptime: server ne zamandır ayakta. 348 | lsb_release -a (Linux Dağıtımı hakkında bilgi almak kullanırız.) 349 | 350 | ------------------------------------------------------------------------- 351 | 352 | User add 353 | Script Shell 354 | GitHub 355 | Git 356 | 357 | ------------------------------------------------------------------------- 358 | User Add 359 | whoami 360 | sudo useradd techcareer => Root olarak yeni kullanıcı ekle 361 | sudo passwd techcareer => Şifre değiştir 362 | sudo userdel techcareer => Kullanıcı Sil 363 | sudo userdel -r techcareer => Recursive olarak sil 364 | compgen -u => Kullanıcı Listelemek 365 | sudo cat /etc/passwd 366 | 367 | su techcareer 368 | password: root 369 | su hamit 370 | password: rootroot 371 | 372 | usermod -L techcareer (Kullanıcıyı Pasif Getirmek) 373 | usermod -U techcareer (Kullanıcıyı Aktif Getirmek) 374 | 375 | ifconfig 376 | ssh techcareer@ipAdresi 377 | root 378 | 379 | sudo ufw status 380 | sudo ufw enable 381 | sudo ufw allow 22 382 | sudo -nlptu 383 | 384 | ------------------------------------------------------------------------- 385 | ------------------------------------------------------------------------- 386 | 387 | Bash Script 388 | 389 | 390 | 391 | 392 | 393 | -------------------------------------------------------------------------------- /_4_Docker/Docker_Information.txt: -------------------------------------------------------------------------------- 1 | 2 | ========= 3 | Bare-Metal (Windows 10) 4 | Virtual Machine () 5 | Container 6 | 7 | -------------------------- 8 | Docker Nedir ? 9 | LXC : LinuX Containers LXC () Linux Container üzerine kurulu bir container yapısıdır. 10 | Docker 2008 Yılında Soloman Hykes 11 | 2013 Docker Kuruldu 12 | 2014 Docker 1.0 13 | 2015 Docker Swarm (Orchestration) 14 | Go diliyle 15 | Open source 16 | DotCloud => Docker INC 17 | 18 | Docker CE Major 6, Destek sağlanıyor 19 | Docker EE Major 12-18 ay, Destek sağlanıyor 20 | 21 | Docker 22 | --------------- 23 | Hızlı Derleme 24 | Dağıtım 25 | Paket Sistemei 26 | Ölçeklendirme (Orch...) 27 | Test Etme 28 | 29 | Docker Hub : Image Al/Ver 30 | 31 | Docker Platform 32 | Windows, Linux, MAcOS 33 | 34 | ------------------------------ 35 | docker version 36 | docker -v 37 | docker --version 38 | 39 | docker info 40 | 41 | docker --help 42 | docker image --help 43 | 44 | docker -v 45 | mvn -v 46 | java --version 47 | node -v 48 | 49 | docker run hello-world 50 | docker container run hello-world 51 | 52 | ------------------------------------------------------------ 53 | ------------------------------------------------------------ 54 | ------------------------------------------------------------ 55 | docker search nginx 56 | docker pull nginx 57 | docker pull nginx:latest 58 | docker pull nginx:1.15 59 | 60 | 61 | docker pull ubuntu 62 | docker pull alpine 63 | docker pull centos 64 | docker pull mysql 65 | docker pull httpd 66 | 67 | ------------------------------------ 68 | -- Container -- 69 | docker container run --publish 1111:80 nginx (publish: reverse proxy port) 70 | docker container run --publish 2222:80 --detach nginx (detach: arka planda çalış lütfen) 71 | docker container run -p 3333:80 -d nginx 72 | docker container run -p 4444:80 -d --name techcareer nginx (name: container adını yazdırmak) 73 | 74 | ------------------------------------ 75 | -- Image -- 76 | docker image --help 77 | docker image ls 78 | docker image prune (prune: kullanılmayan bütün image'leri sil) 79 | 80 | 81 | 82 | ------------------------------------ 83 | -- List-- 84 | docker container ls 85 | docker container ls -a 86 | docker container ps 87 | docker ps 88 | 89 | ------------------------------------ 90 | -- Start/Stop -- 91 | docker container stop containerID 92 | docker container stop containerNAME 93 | docker container stop 0023a98fc505 94 | docker container start 0023a98fc505 95 | 96 | ------------------------------------ 97 | -- Delete -- 98 | docker container rm 0023a98fc505 99 | docker container rm -f 266f629d9bc0 (f: stop yapmadan sil) 100 | docker container rm -f 0023a98fc505 e5fd3be3f3d7 101 | docker container prune (prune: Çalışmayan bütün containerleri sil) 102 | 103 | ------------------------------------ 104 | -- Monitoring -- 105 | docker ps 106 | docker container logs container_ID 107 | docker container logs container_NAME 108 | docker container logs techcareer 109 | docker container logs --details techcareer 110 | docker container logs --tail 5 techcareer (son 5 log'u göster) 111 | docker container logs -f techcareer (f: follow) 112 | 113 | ------------------------------------ 114 | -- LOGS TIS -- 115 | t: top: çalışan processler 116 | i: inspect detaylı nbilgi 117 | s:stats: performan bilgi(kaynak tüketimi) 118 | 119 | docker container ls 120 | docker container ps 121 | docker container top techcareer 122 | docker container inspect techcareer 123 | docker container stats techcareer 124 | 125 | ------------------------------------ 126 | docker search ubuntu 127 | docker pull ubuntu 128 | 129 | alpine => sh 130 | ubuntu => bash 131 | window => powershell 132 | 133 | -- Terminal -- 134 | ## Yeni bir container oluştur ve ona bağlan 135 | docker container run -it -p 1111:80 --name techcareer ubuntu bash 136 | winpty docker container run -it -p 1111:80 --name techcareer ubuntu bash 137 | i: interactive 138 | t: terminal 139 | 140 | docker ps 141 | ## Çalışan bir container üzerinden terminale bağlanacağım. 142 | docker container exec -it containerID bash 143 | 144 | 145 | ## Kapatılmış container üzerinden terminale bağlanacağım. 146 | docker container start -ai containerID 147 | 148 | Examples 149 | docker search nginx 150 | docker pull nginx 151 | docker image ls 152 | 153 | --rm: container stop yaptığınızda otomatik silinir. 154 | docker container run -p 7777:80 nginx 155 | docker container run -d -p 7777:80 nginx 156 | docker container run -d -p 7777:80 --name web2 nginx 157 | docker container run -p 7777:80 --name web2 --rm nginx 158 | docker container run -d -p 7777:80 --name web2 --rm nginx 159 | 160 | docker container exec -it web2 bash 161 | cat > usr/share/nginx/html/index.html 162 | 163 | 164 | 165 | 166 | 167 | Document 168 | 169 | 170 |

Nasılsınız Lorem, ipsum.

171 | 172 | 173 | 174 | 175 | ------------------------------------ 176 | -- Mount -- 177 | Verilerimizin container dışında güvenl, bir limanda tutmak istiyorsak, persist data kullanmak zorundayız 178 | 1- Volume (Production) ***(Contaniner dışında özel bir yerde saklansın) 179 | 2- Bind Mound (Test) :Host sistemi üzerinde container içinde saklanıyor. 180 | 181 | Database (Veri tabanı) 182 | Log 183 | xml 184 | json 185 | 186 | volume : -v 187 | bind mound : -v 188 | 189 | ------------------------------------ 190 | -- Bind Mound -- 191 | docker search nginx 192 | docker pull nginx 193 | 194 | index.html 195 | ---------- 196 | 197 | 198 | 199 | 200 | 201 | Document 202 | 203 | 204 |

Nasılsınız Ben bir Bind Mound Datasıyım.

205 | 206 | 207 | 208 | 209 | docker container run -d -p 6666:80 -v TaşınmasınıIstediğimDosyaYer:OrijinalDosyaYeri nginx 210 | sudo docker container run -d --rm -p 2222:80 --name bind_nginx -v /home/hamit/Desktop/websitem:/usr/share/nginx/html nginx 211 | 212 | ------------------------------------ 213 | -- Volume -- 214 | $ docker volume --help 215 | $ docker volume create volumeName 216 | $ docker volume ls 217 | $ docker volume inspect volumeName 218 | $ docker volume prune 219 | $ docker volume rm 220 | 221 | Mountpoint : Volume fiziksel olarak bulunduğu yer demektir. 222 | "Mountpoint": "/var/lib/docker/volumes/volumeName/_data", 223 | 224 | 225 | $ mintty docker container run -it -v volumeName:/webpages ubuntu sh 226 | $ mintty docker container run -it -v volumeName:/webpages alpine sh 227 | $ docker volume ls 228 | $ docker volume inspect volumeName 229 | 230 | $ cd /webpages 231 | $ cat >> index.html 232 | ----------------------- 233 | ### index.html ### 234 | 235 | 236 | 237 | 238 | 239 | Document 240 | 241 | 242 |

Nasılsınız Ben Bir Volume Datasıyım.

243 | 244 | 245 | $ exit 246 | 247 | 248 | ------------------------------------ 249 | -- Volume -- 250 | Docker - Volume - Mysql 251 | 252 | docker ps 253 | docker ps -a 254 | docker container rm -f dockerID 255 | 256 | docker search mysql 257 | docker pull mysql/mysql-server:latest 258 | docker ps 259 | docker ps -a 260 | docker image ls 261 | netstat -nlptu 262 | 263 | docker volume ls 264 | docker volume rm volumeName1 volumeName2 volumeName3 265 | docker volume --help 266 | docker create -v /var/lib/mysql --name mysqldatabase mysql/mysql-server:latest 267 | docker volume ls 268 | docker ps -a 269 | Mysql Container ID:8f30d2f90670 270 | Mysql Container NAME: mysqldatabase 271 | 272 | docker ps -a 273 | docker container run -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=root --volumes-from mysqldatabase --name=mysqldb mysql/mysql-server:latest 274 | winpty docker container exec -it mysqldb bash 275 | mysql -uroot -p 276 | root 277 | SHOW DATABASES; 278 | 279 | CREATE SCHEMA `spa` DEFAULT CHARACTER SET utf8 ; 280 | use volume; 281 | CREATE TABLE `spa`.`blog` ( 282 | `id` INT NOT NULL AUTO_INCREMENT, 283 | `title` VARCHAR(250) NULL, 284 | `content` VARCHAR(250) NULL, 285 | `created_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, 286 | PRIMARY KEY (`id`)); 287 | 288 | INSERT INTO `spa`.`blog` (`title`, `content`) VALUES ('title-1', 'content-1'); 289 | INSERT INTO `spa`.`blog` (`title`, `content`) VALUES ('title-2', 'content-2'); 290 | SELECT * FROM spa.blog; 291 | SHOW DATABASES; 292 | 293 | exit (Mysql) 294 | exit (Bash terminal) 295 | 296 | docker container rm -f mysqldb 297 | docker container run -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=root --volumes-from mysqldatabase --name=mysqldatabasenew mysql/mysql-server:latest 298 | winpty docker container exec -it mysqldatabasenew bash 299 | mysql -uroot -p 300 | root 301 | SHOW DATABASES; 302 | 303 | ------------------------------------ 304 | -- Image Oluşturmak -- 305 | docker login 306 | 307 | docker image --help 308 | docker image ls 309 | docker image tag --help 310 | 311 | DockerHub Repository Name: javahamitmizrak/spring_react_blog 312 | imageName: Oluşturduğumuz DockerFile veya docker-compose.yml'da veya daha önceden pull yaptığımız image adları. 313 | 314 | docker image tag imageName javahamitmizrak/spring_react_blog 315 | docker image tag my_spring_react:latest javahamitmizrak/spring_react_blog 316 | 317 | docker push javahamitmizrak/spring_react_blog 318 | docker image ls 319 | docker image rm imageName 320 | docker pull javahamitmizrak/spring_react_blog 321 | docker logout 322 | 323 | ------------------------------------ 324 | -- Docker Swarm (orchestraction) -- 325 | K8S - Docker Swarm (Birden fazla container yönetiminde) 326 | 327 | Docker Swarm (Docker Engine içerisinde ) 328 | docker info 329 | Eğer Swarm inacative görünmüyorsa => 330 | docker swarm leave --force 331 | docker swarm init 332 | 333 | Manager - Worker 334 | docker swarm --help 335 | 336 | docker swarm init (active et) 337 | docker swarm leave (Swarm Kapat) 338 | docker swarm update (Swarm Güncellemek) 339 | 340 | docker swarm node ls 341 | 342 | ------------------------------------ 343 | -- Service -- 344 | docker service --help (service: çalışan container kapandığında otomatik olarak açsın ve o container sürekli çalışsın) 345 | docker service ls 346 | docker service ps ID 347 | docker service rm ID 348 | docker container rm -f containerID 349 | 350 | Manager Node Raft Consensus Algoritması 351 | N-1/2 352 | 353 | 354 | 355 | ------------------------------------ 356 | -- Swarm -- 357 | Orchestration 358 | https://labs.play-with-docker.com/ 359 | 360 | docker info 361 | docker swarm init (active et) 362 | docker swarm leave (Swarm Kapat) 363 | docker swarm update (Swarm Güncellemek) 364 | docker swarm node ls 365 | 366 | Ctrl+ Insert tuşu (Copy) 367 | Shift+ Insert tuşu (Pase) 368 | 369 | 1.ADIM 370 | ------------- 371 | 5 tane instance oluştur. 372 | ifconfig ile ip adresini gördüm 373 | 374 | Herhangi bir node => Aktif Manager Seç => ( docker swarm init --advertise-addr 192.168.0.13 ) 375 | Aktif Manager node iken => Pasif Manager Seç => ( docker swarm join-token manager ) docker swarm join --token SWMTKN-1-4pihi7pb25k8szb0q9wggj96iz48wfoxxbkw03h21gg5dho56r-exe7al8bhf4ep977xbqjtqd13 192.168.0.13:2377 376 | Aktif Manager node iken => Workerlar Seç => ( docker swarm join-token worker ) docker swarm join --token SWMTKN-1-4pihi7pb25k8szb0q9wggj96iz48wfoxxbkw03h21gg5dho56r-doff0ak6q3zgqsan2apjhp78k 192.168.0.13:2377 377 | 378 | 379 | 2.ADIM 380 | ------------- 381 | Pasif Manager için ID: 192.168.12 IP git => docker swarm join --token SWMTKN-1-4pihi7pb25k8szb0q9wggj96iz48wfoxxbkw03h21gg5dho56r-exe7al8bhf4ep977xbqjtqd13 192.168.0.13:2377 382 | Pasif Manager için ID: 192.168.11 IP git => docker swarm join --token SWMTKN-1-4pihi7pb25k8szb0q9wggj96iz48wfoxxbkw03h21gg5dho56r-exe7al8bhf4ep977xbqjtqd13 192.168.0.13:2377 383 | 384 | Worker için ID: 192.168.10 IP git => docker swarm join --token SWMTKN-1-4pihi7pb25k8szb0q9wggj96iz48wfoxxbkw03h21gg5dho56r-doff0ak6q3zgqsan2apjhp78k 192.168.0.13:2377 385 | Worker için ID: 192.168.9 IP git => docker swarm join --token SWMTKN-1-4pihi7pb25k8szb0q9wggj96iz48wfoxxbkw03h21gg5dho56r-doff0ak6q3zgqsan2apjhp78k 192.168.0.13:2377 386 | 387 | 388 | 3.ADIM 389 | ------------- 390 | docker node ls (Aktif veya Pasif managerde bu komutu sadece çalıştırabilirsin) 391 | docker service create --name web_server -p 7777:80 --replicas=9 nginx (aktif veya pasif managerde seçmelisiniz) 392 | 393 | docker service ls 394 | docker service ps web_server 395 | 396 | 397 | docker ps 398 | docker container rm -f containerID 399 | docker node ls 400 | docker service ps web_server 401 | 402 | ------------------------------------ 403 | -- Network -- 404 | Container normalde portla ile haberleşiyor. 405 | Bilgisayarda; 406 | 407 | Port 408 | 2^16= 65536 port 409 | 0 <= PORT <= 1023 (Well-Know Port) 410 | 0 => 411 | 20 => FTP (File Transfer Protocol) 412 | 22 => SSH 413 | 23 => Telnet 414 | 80 => Http Reverse Proxy (nginx) 415 | 80 => Http Reverse Proxy (docker) 416 | 443 => Https SSL 417 | 418 | 419 | 1024 <= PORT <= 49151 (Registed Port) 420 | 3306 => Mysql 421 | 5432 => Postgresql 422 | 6379 => Redis 423 | 27017 => Mongo 424 | 3000 => Node js + React JS 425 | 426 | 427 | 49152<= PORT <= 65535 ( Dynamics Port) 428 | sudo ufw status (inactive) 429 | sudo ufw enable 430 | sudo ufw allow 22 431 | sudo -nlptu 432 | sudo netstat -nlptu 433 | 434 | Ancak portlara her zaman güvenemeyiz. örneğin: XYZ kişisi kullandığımız bir portu kill yaptı. 435 | 436 | Network port ile haberleşmeye yerine DNS üzerindern haberleşmesini sağlıyor. 437 | 438 | Network Driver 439 | Bridge : Default Driverdir. 440 | Host : Container izolasyonu olmadığı durumlarda kullanılan network. 441 | None : Container ağ bağlantısını olmasını istemiyoruz. 442 | macvlan: mac adres üzerinden haberleşme 443 | 444 | 445 | NORMAL PORT HABERLEŞME 446 | docker container run --name port_nginx -d -p 9999:80 nginx 447 | 448 | docker network --help 449 | docker network ls 450 | docker network rm NETWORKID 451 | docker network inspect bridge 452 | 453 | docker inspect hamitmizrak_network 454 | docker network create hamitmizrak_network 455 | docker inspect hamitmizrak_network 456 | docker container run --name dns_nginx -d --network hamitmizrak_network nginx 457 | docker container exec -it dns_nginx bash 458 | apt-get update 459 | apt-get install curl 460 | curl amazon.com 461 | 462 | 463 | 464 | ------------------------------------ 465 | ------------------------------------ 466 | ------------------------------------ 467 | SonarQube 468 | Grafana / Prometheus 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | -------------------------------------------------------------------------------- /_5_SonarQube/conf/sonar.properties: -------------------------------------------------------------------------------- 1 | #-------------------------------------------------------------------------------------------------- 2 | # IMPORTANT: 3 | # This file will *not* be reloaded upon hitting the "Restart" button in the UI, or using the 4 | # api/system/restart endpoint. 5 | # In order for any change made to this file to be taken into account, you must perform a full 6 | # restart of the main SonarQube service. 7 | #-------------------------------------------------------------------------------------------------- 8 | 9 | # Property values can: 10 | # - be overridden by environment variables. The name of the corresponding environment variable is the 11 | # upper-cased name of the property where all the dot ('.') and dash ('-') characters are replaced by 12 | # underscores ('_'). For example, to override 'sonar.web.systemPasscode' use 'SONAR_WEB_SYSTEMPASSCODE'. 13 | # - be encrypted. See https://docs.sonarsource.com/sonarqube/latest/instance-administration/security/#settings-encryption 14 | 15 | #-------------------------------------------------------------------------------------------------- 16 | # DATABASE 17 | # 18 | # IMPORTANT: 19 | # - The embedded H2 database is used by default. It is recommended for tests but not for 20 | # production use. Supported databases are Oracle, PostgreSQL and Microsoft SQLServer. 21 | # - Changes to database connection URL (sonar.jdbc.url) can affect SonarSource licensed products. 22 | 23 | # User credentials. 24 | # Permissions to create tables, indices and triggers must be granted to JDBC user. 25 | # The schema must be created first. 26 | #sonar.jdbc.username= 27 | #sonar.jdbc.password= 28 | 29 | #----- Embedded Database (default) 30 | # H2 embedded database server listening port, defaults to 9092 31 | #sonar.embeddedDatabase.port=9092 32 | 33 | 34 | #----- Oracle 19c/21c 35 | # The Oracle JDBC driver must be copied into the directory extensions/jdbc-driver/oracle/. 36 | # Only the thin client is supported, and we recommend using the latest Oracle JDBC driver. See 37 | # https://jira.sonarsource.com/browse/SONAR-9758 for more details. 38 | # If you need to set the schema, please refer to http://jira.sonarsource.com/browse/SONAR-5000 39 | #sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/XE 40 | 41 | 42 | #----- PostgreSQL 11 or greater 43 | # By default the schema named "public" is used. It can be overridden with the parameter "currentSchema". 44 | #sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema 45 | 46 | 47 | #----- Microsoft SQLServer 2014/2016/2017/2019/2022 and SQL Azure 48 | # A database named sonar must exist and its collation must be case-sensitive (CS) and accent-sensitive (AS) 49 | # Use the following connection string if you want to use integrated security with Microsoft Sql Server 50 | # Do not set sonar.jdbc.username or sonar.jdbc.password property if you are using Integrated Security 51 | # For Integrated Security to work, you have to download the Microsoft SQL JDBC Auth 12.4.2 package from 52 | # https://github.com/microsoft/mssql-jdbc/releases/download/v12.4.2/mssql-jdbc_auth.zip 53 | # and 'mssql-jdbc_auth-12.4.2.x64.dll' to your path. 54 | #sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar;integratedSecurity=true 55 | 56 | # Use the following connection string if you want to use SQL Auth while connecting to MS Sql Server. 57 | # Set the sonar.jdbc.username and sonar.jdbc.password appropriately. 58 | #sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar 59 | 60 | 61 | #----- Connection pool settings 62 | # The maximum number of active connections that can be allocated 63 | # at the same time, or negative for no limit. 64 | # The recommended value is 1.2 * max sizes of HTTP pools. For example if HTTP ports are 65 | # enabled with default sizes (50, see property sonar.web.http.maxThreads) 66 | # then sonar.jdbc.maxActive should be 1.2 * 50 = 60. 67 | #sonar.jdbc.maxActive=60 68 | 69 | # The minimum number of connections that can remain idle in the pool, 70 | # without extra ones being created, or zero to create none. 71 | #sonar.jdbc.minIdle=10 72 | 73 | # The maximum number of milliseconds that the pool will wait (when there 74 | # are no available connections) for a connection to be returned before 75 | # throwing an exception, or <= 0 to wait indefinitely. 76 | #sonar.jdbc.maxWait=8000 77 | 78 | 79 | #-------------------------------------------------------------------------------------------------- 80 | # WEB SERVER 81 | # Web server is executed in a dedicated Java process. By default heap size is 512MB. 82 | # Use the following property to customize JVM options. 83 | # Recommendations: 84 | # 85 | # The HotSpot Server VM is recommended. The property -server should be added if server mode 86 | # is not enabled by default on your environment: 87 | # http://docs.oracle.com/javase/8/docs/technotes/guides/vm/server-class.html 88 | # 89 | # Startup can be long if entropy source is short of entropy. Adding 90 | # -Djava.security.egd=file:/dev/./urandom is an option to resolve the problem. 91 | # See https://wiki.apache.org/tomcat/HowTo/FasterStartUp#Entropy_Source 92 | # 93 | #sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError 94 | 95 | # Same as previous property, but allows to not repeat all other settings like -Xmx 96 | #sonar.web.javaAdditionalOpts= 97 | 98 | # Binding IP address. For servers with more than one IP address, this property specifies which 99 | # address will be used for listening on the specified ports. 100 | # By default, ports will be used on all IP addresses associated with the server. 101 | #sonar.web.host=0.0.0.0 102 | 103 | # Web context. When set, it must start with forward slash (for example /sonarqube). 104 | # Changing this value and restarting the server can have unexpected consequences for logged in users, 105 | # as they may end up with multiple conflicting browser cookies. If your users experience odd 106 | # behaviors after you changed this value and restarted the server, ask them to clear their browser's 107 | # cookies and log in again. 108 | # The default value is root context (empty value). 109 | #sonar.web.context= 110 | # TCP port for incoming HTTP connections. Default value is 9000. 111 | #sonar.web.port=9000 112 | 113 | 114 | # The maximum number of connections that the server will accept and process at any given time. 115 | # When this number has been reached, the server will not accept any more connections until 116 | # the number of connections falls below this value. The operating system may still accept connections 117 | # based on the sonar.web.connections.acceptCount property. The default value is 50. 118 | #sonar.web.http.maxThreads=50 119 | 120 | # The minimum number of threads always kept running. The default value is 5. 121 | #sonar.web.http.minThreads=5 122 | 123 | # The maximum queue length for incoming connection requests when all possible request processing 124 | # threads are in use. Any requests received when the queue is full will be refused. 125 | # The default value is 25. 126 | #sonar.web.http.acceptCount=25 127 | 128 | # The number of milliseconds this Connector will wait for another HTTP request before closing the 129 | # connection. The default value is to use the value that has been set for the connectionTimeout 130 | # attribute. Use a value of -1 to indicate no (i.e. infinite) timeout. 131 | # The default value is 60000 (ms). 132 | #sonar.web.http.keepAliveTimeout=60000 133 | 134 | # By default users are logged out and sessions closed when server is restarted. 135 | # If you prefer keeping user sessions open, a secret should be defined. Value is 136 | # HS256 key encoded with base64. It must be unique for each installation of SonarQube. 137 | # Example of command-line: 138 | # echo -n "type_what_you_want" | openssl dgst -sha256 -hmac "key" -binary | base64 139 | #sonar.auth.jwtBase64Hs256Secret= 140 | 141 | # The inactivity timeout duration of user sessions, in minutes. After the configured 142 | # period of time, the user is logged out. 143 | # The default value is set to 3 days (4320 minutes). 144 | # It must be set between 6 minutes and 3 months (129600 minutes). 145 | # Value must be strictly positive. 146 | #sonar.web.sessionTimeoutInMinutes=4320 147 | 148 | # A passcode can be defined to access some web services from monitoring 149 | # tools without having to use the credentials of a system administrator. 150 | # Check the Web API documentation to know which web services are supporting this authentication mode. 151 | # The passcode should be provided in HTTP requests with the header "X-Sonar-Passcode". 152 | # By default feature is disabled. 153 | #sonar.web.systemPasscode= 154 | 155 | 156 | #-------------------------------------------------------------------------------------------------- 157 | # SSO AUTHENTICATION 158 | 159 | # Enable authentication using HTTP headers 160 | #sonar.web.sso.enable=false 161 | 162 | # Name of the header to get the user login. 163 | # Only alphanumeric, '.' and '@' characters are allowed 164 | #sonar.web.sso.loginHeader=X-Forwarded-Login 165 | 166 | # Name of the header to get the user name 167 | #sonar.web.sso.nameHeader=X-Forwarded-Name 168 | 169 | # Name of the header to get the user email (optional) 170 | #sonar.web.sso.emailHeader=X-Forwarded-Email 171 | 172 | # Name of the header to get the list of user groups, separated by comma (optional). 173 | # If the sonar.sso.groupsHeader is set, the user will belong to those groups if groups exist in SonarQube. 174 | # If none of the provided groups exists in SonarQube, the user will only belong to the default group. 175 | # Note that the default group will always be set. 176 | #sonar.web.sso.groupsHeader=X-Forwarded-Groups 177 | 178 | # Interval used to know when to refresh name, email and groups. 179 | # During this interval, if for instance the name of the user is changed in the header, it will only be updated after X minutes. 180 | #sonar.web.sso.refreshIntervalInMinutes=5 181 | 182 | #-------------------------------------------------------------------------------------------------- 183 | # LDAP CONFIGURATION 184 | 185 | # Enable the LDAP feature 186 | # sonar.security.realm=LDAP 187 | 188 | # Set to true when connecting to a LDAP server using a case-insensitive setup. 189 | # sonar.authenticator.downcase=true 190 | 191 | # URL of the LDAP server. Note that if you are using ldaps, then you should install the server certificate into the Java truststore. 192 | # ldap.url=ldap://localhost:10389 193 | 194 | # Bind DN is the username of an LDAP user to connect (or bind) with. Leave this blank for anonymous access to the LDAP directory (optional) 195 | # ldap.bindDn=cn=sonar,ou=users,o=mycompany 196 | 197 | # Bind Password is the password of the user to connect with. Leave this blank for anonymous access to the LDAP directory (optional) 198 | # ldap.bindPassword=secret 199 | 200 | # Possible values: simple | CRAM-MD5 | DIGEST-MD5 | GSSAPI See http://java.sun.com/products/jndi/tutorial/ldap/security/auth.html (default: simple) 201 | # ldap.authentication=simple 202 | 203 | # See : 204 | # * http://java.sun.com/products/jndi/tutorial/ldap/security/digest.html 205 | # * http://java.sun.com/products/jndi/tutorial/ldap/security/crammd5.html 206 | # (optional) 207 | # ldap.realm=example.org 208 | 209 | # Context factory class (optional) 210 | # ldap.contextFactoryClass=com.sun.jndi.ldap.LdapCtxFactory 211 | 212 | # Enable usage of StartTLS (default : false) 213 | # ldap.StartTLS=true 214 | 215 | # Follow or not referrals. See http://docs.oracle.com/javase/jndi/tutorial/ldap/referral/jndi.html (default: true) 216 | # ldap.followReferrals=false 217 | 218 | # USER MAPPING 219 | 220 | # Distinguished Name (DN) of the root node in LDAP from which to search for users (mandatory) 221 | # ldap.user.baseDn=cn=users,dc=example,dc=org 222 | 223 | # LDAP user request. (default: (&(objectClass=inetOrgPerson)(uid={login})) ) 224 | # ldap.user.request=(&(objectClass=user)(sAMAccountName={login})) 225 | 226 | # Attribute in LDAP defining the user’s real name. (default: cn) 227 | # ldap.user.realNameAttribute=name 228 | 229 | # Attribute in LDAP defining the user’s email. (default: mail) 230 | # ldap.user.emailAttribute=email 231 | 232 | # GROUP MAPPING 233 | 234 | # Distinguished Name (DN) of the root node in LDAP from which to search for groups. (optional, default: empty) 235 | # ldap.group.baseDn=cn=groups,dc=example,dc=org 236 | 237 | # LDAP group request (default: (&(objectClass=groupOfUniqueNames)(uniqueMember={dn})) ) 238 | # ldap.group.request=(&(objectClass=group)(member={dn})) 239 | 240 | # Property used to specifiy the attribute to be used for returning the list of user groups in the compatibility mode. (default: cn) 241 | # ldap.group.idAttribute=sAMAccountName 242 | 243 | #-------------------------------------------------------------------------------------------------- 244 | # COMPUTE ENGINE 245 | # The Compute Engine is responsible for processing background tasks. 246 | # Compute Engine is executed in a dedicated Java process. Default heap size is 512MB. 247 | # Use the following property to customize JVM options. 248 | # Recommendations: 249 | # 250 | # The HotSpot Server VM is recommended. The property -server should be added if server mode 251 | # is not enabled by default on your environment: 252 | # http://docs.oracle.com/javase/8/docs/technotes/guides/vm/server-class.html 253 | # 254 | #sonar.ce.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError 255 | 256 | # Same as previous property, but allows to not repeat all other settings like -Xmx 257 | #sonar.ce.javaAdditionalOpts= 258 | 259 | 260 | #-------------------------------------------------------------------------------------------------- 261 | # ELASTICSEARCH 262 | # Elasticsearch is used to facilitate fast and accurate information retrieval. 263 | # It is executed in a dedicated Java process. Default maximum heap size is 512MB. 264 | # It is recommended to also set MaxDirectMemorySize (-XX:MaxDirectMemorySize) and set it to half the maximum heap size. 265 | # 266 | # -------------------------------------------------- 267 | # Word of caution for Linux users on 64bits systems 268 | # -------------------------------------------------- 269 | # Please ensure Virtual Memory on your system is correctly configured for Elasticsearch to run properly 270 | # (see https://www.elastic.co/guide/en/elasticsearch/reference/5.5/vm-max-map-count.html for details). 271 | # 272 | # When SonarQube runs standalone, a warning such as the following may appear in logs/es.log: 273 | # "max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]" 274 | # When SonarQube runs as a cluster, however, Elasticsearch will refuse to start. 275 | # 276 | 277 | # JVM options of Elasticsearch process 278 | #sonar.search.javaOpts=-Xmx512m -Xms512m -XX:MaxDirectMemorySize=256m -XX:+HeapDumpOnOutOfMemoryError 279 | 280 | # Same as previous property, but allows to not repeat all other settings like -Xmx 281 | #sonar.search.javaAdditionalOpts= 282 | 283 | # Elasticsearch port for incoming HTTP connections. Default is 9001. Use 0 to get a free port. 284 | # As a security precaution, should be blocked by a firewall and not exposed to the Internet. 285 | #sonar.search.port=9001 286 | 287 | # Elasticsearch TCP transport port that is bound to loopback address. When nothing is set, a random port will be chosen. 288 | # As a security precaution, your OS configuration should not expose this port for external access. 289 | #sonar.es.port= 290 | 291 | # Elasticsearch host. The search server will bind this address and the search client will connect to it. 292 | # Default is loopback address. 293 | # As a security precaution, should NOT be set to a publicly available address. 294 | #sonar.search.host= 295 | 296 | 297 | #-------------------------------------------------------------------------------------------------- 298 | # UPDATE CENTER 299 | 300 | # Update Center requires an internet connection to request https://update.sonarsource.org 301 | # It is enabled by default. 302 | #sonar.updatecenter.activate=true 303 | 304 | # HTTP proxy (default none) 305 | #http.proxyHost= 306 | #http.proxyPort= 307 | # HTTPS proxy (defaults are values of http.proxyHost and http.proxyPort) 308 | #https.proxyHost= 309 | #https.proxyPort= 310 | 311 | # NT domain name if NTLM proxy is used 312 | #http.auth.ntlm.domain= 313 | 314 | # SOCKS proxy (default none) 315 | #socksProxyHost= 316 | #socksProxyPort= 317 | 318 | # Proxy authentication (used for HTTP, HTTPS and SOCKS proxies) 319 | #http.proxyUser= 320 | #http.proxyPassword= 321 | 322 | # Proxy exceptions: list of hosts that can be accessed without going through the proxy 323 | # separated by the '|' character, wildcard character '*' can be used for pattern matching 324 | # used for HTTP and HTTPS (default none) 325 | # (note: localhost and its literal notations (127.0.0.1, ...) are always excluded) 326 | #http.nonProxyHosts= 327 | 328 | 329 | #-------------------------------------------------------------------------------------------------- 330 | # LOGGING 331 | 332 | # SonarQube produces logs in files located in the same directory (see property sonar.path.logs below), 333 | # one per process: 334 | # Main process (aka. App) logs in sonar.log 335 | # Web Server (aka. Web) logs in web.log 336 | # Compute Engine (aka. CE) logs in ce.log 337 | # Elasticsearch (aka. ES) logs in es.log 338 | # and two other log files: 339 | # Access logs 340 | # Deprecation logs 341 | 342 | # Regarding logs for processes: 343 | # Depending on the startup, all 4 files follow the same rolling policy (see sonar.log.rollingPolicy and sonar.log.maxFiles) but it applies 344 | # individually (eg. if sonar.log.maxFiles=4, there can be at most 4 of each files, ie. 16 files in total). 345 | # 346 | # All 4 files have logs in the same format: 347 | # 1 2 3 4 5 6 348 | # |-----------------| |---| |-|--------------------||------------------------------| |------------------------------------------------------------------------------------------------------------------------------| 349 | # 2016.11.16 16:47:00 INFO ce[AVht0dNXFcyiYejytc3m][o.s.s.c.t.CeWorkerCallableImpl] Executed task | project=org.sonarqube:example-java-maven | type=REPORT | id=AVht0dNXFcyiYejytc3m | submitter=admin | time=1699ms 350 | # 351 | # 1: timestamp. Format is YYYY.MM.DD HH:MM:SS 352 | # YYYY: year on 4 digits 353 | # MM: month on 2 digits 354 | # DD: day on 2 digits 355 | # HH: hour of day on 2 digits in 24 hours format 356 | # MM: minutes on 2 digits 357 | # SS: seconds on 2 digits 358 | # 2: log level. 359 | # Possible values (in order of descending criticality): ERROR, WARN, INFO, DEBUG and TRACE 360 | # 3: process identifier. Possible values: app (main), web (Web Server), ce (Compute Engine) and es (Elasticsearch) 361 | # 4: SQ thread identifier. Can be empty. 362 | # In the Web Server, if present, it will be the HTTP request ID. 363 | # In the Compute Engine, if present, it will be the task ID. 364 | # 5: logger name. Usually a class canonical name. 365 | # Package names are truncated to keep the whole field to 20 characters max 366 | # 6: log payload. Content of this field does not follow any specific format, can vary in length and include line returns. 367 | # Some logs, however, will follow the convention to provide data in payload in the format " | key=value" 368 | # Especially, log of profiled pieces of code will end with " | time=XXXXms". 369 | 370 | # Global level of logs (applies to all 4 processes). 371 | # Supported values are INFO (default), DEBUG and TRACE 372 | #sonar.log.level=INFO 373 | 374 | # Level of logs of each process can be controlled individually with their respective properties. 375 | # When specified, they overwrite the level defined at global level. 376 | # Supported values are INFO, DEBUG and TRACE 377 | #sonar.log.level.app=INFO 378 | #sonar.log.level.web=INFO 379 | #sonar.log.level.ce=INFO 380 | #sonar.log.level.es=INFO 381 | 382 | # Path to log files. Can be absolute or relative to installation directory. 383 | # Default is /logs 384 | #sonar.path.logs=logs 385 | 386 | # Rolling policy of log files 387 | # - based on time if value starts with "time:", for example by day ("time:yyyy-MM-dd") 388 | # or by month ("time:yyyy-MM") 389 | # - based on size if value starts with "size:", for example "size:10MB" 390 | # - disabled if value is "none". That needs logs to be managed by an external system like logrotate. 391 | #sonar.log.rollingPolicy=time:yyyy-MM-dd 392 | 393 | # Maximum number of files to keep if a rolling policy is enabled. 394 | # - maximum value is 20 on size rolling policy 395 | # - unlimited on time rolling policy. Set to zero to disable old file purging. 396 | #sonar.log.maxFiles=7 397 | 398 | # Regarding the Access logs: 399 | # Access log is the list of all the HTTP requests received by server. If enabled, it is stored 400 | # in the file {sonar.path.logs}/access.log. This file follows the same rolling policy as other log file 401 | # (see sonar.log.rollingPolicy and sonar.log.maxFiles). 402 | #sonar.web.accessLogs.enable=true 403 | 404 | # Format of access log. It is ignored if sonar.web.accessLogs.enable=false. Possible values are: 405 | # - "common" is the Common Log Format, shortcut to: %h %l %u %user %date "%r" %s %b 406 | # - "combined" is another format widely recognized, shortcut to: %h %l %u [%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}" 407 | # - else a custom pattern. See http://logback.qos.ch/manual/layouts.html#AccessPatternLayout. 408 | # The login of authenticated user is not implemented with "%u" but with "%reqAttribute{LOGIN}" (since version 6.1). 409 | # The value displayed for anonymous users is "-". 410 | # The SonarQube's HTTP request ID can be added to the pattern with "%reqAttribute{ID}" (since version 6.2). 411 | # If SonarQube is behind a reverse proxy, then the following value allows to display the correct remote IP address: 412 | #sonar.web.accessLogs.pattern=%i{X-Forwarded-For} %l %u [%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}" "%reqAttribute{ID}" 413 | # Default value (which was "combined" before version 6.2) is equivalent to "combined + SQ HTTP request ID": 414 | #sonar.web.accessLogs.pattern=%h %l %u [%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}" "%reqAttribute{ID}" 415 | 416 | # Regarding the Deprecation logs: 417 | # Deprecation log is the list of all calls to deprecated Web API. 418 | # It is stored in the file {sonar.path.logs}/deprecation.log. This file follows the same rolling policy as other log file 419 | # (see sonar.log.rollingPolicy and sonar.log.maxFiles). 420 | 421 | # Format of deprecation log. 422 | # See https://docs.sonarsource.com/sonarqube/latest/instance-administration/server-logs-and-system-info/ 423 | # The login of authenticated user is disabled by default. 424 | # sonar.deprecationLogs.loginEnabled=false 425 | 426 | 427 | #-------------------------------------------------------------------------------------------------- 428 | # OTHERS 429 | 430 | # Delay in seconds between processing of notification queue. Default is 60 seconds. 431 | #sonar.notifications.delay=60 432 | 433 | # Paths to persistent data files (embedded database and search index) and temporary files. 434 | # Can be absolute or relative to installation directory. 435 | # Defaults are respectively /data and /temp 436 | #sonar.path.data=data 437 | #sonar.path.temp=temp 438 | 439 | # Telemetry - Share anonymous SonarQube statistics 440 | # By sharing anonymous SonarQube statistics, you help us understand how SonarQube is used so we can improve the product to work even better for you. 441 | # We don't collect source code or IP addresses. And we don't share the data with anyone else. 442 | #sonar.telemetry.enable=true 443 | --------------------------------------------------------------------------------