Devops脚本

docker-compose for jenkins

version: "3"
services:
  jenkins:
    image: "jenkins/jenkins:lts"
    container_name: jenkins
    restart: always
    environment:
      - TZ=Asia/Shanghai
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - "/etc/localtime:/etc/localtime"
      - "./data:/var/jenkins_home"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/usr/bin/docker:/usr/bin/docker"

docker-compose for sonarqube

version: '3'
services:
  db:
    image: postgres
    container_name: db
    ports:
      - 5432:5432
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
  sonarqube:
    image: sonarqube:7.6-community
    container_name: sonarqube
    depends_on:
      - db
    ports:
      - 9000:9000
    networks:
      - sonarnet
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
networks:
  sonarnet:
    driver: bridge

Jenkinsfile

/* groovylint-disable-next-line CompileStatic */
pipeline {
    /*triggers {
        pollSCM('cron code')
    }*/
    agent any
    stages {
        stage('Pull the code from Git') {
            steps {
                /* git branch: '${tag}', credentialsId: 'fdff337c-c69a-4861-a863-b018fea89f5c', url: 'https://gitee.com/xiaotianhao/dev-ops-integration-project.git' */
                git credentialsId: 'fdff337c-c69a-4861-a863-b018fea89f5c', url: 'https://gitee.com/xiaotianhao/dev-ops-integration-project.git'
            }
        }
        stage('Building projects with maven') {
            steps {
                sh '/var/jenkins_home/maven/bin/mvn clean package -DskipTests'
            }
        }
        stage('Check code quality') {
            steps {
                sh '/var/jenkins_home/sonar-scanner/bin/sonar-scanner  -Dsonar.login=92c249913c42185938358849ea67dd -Dsonar.projectKey=my_code -Dsonar.projectName=my_code -Dsonar.projectVersion=1.0.0 -Dsonar.sources=src/main/java -Dsonar.sourceEncoding=UTF-8 -Dsonar.language=java -Dsonar.java.binaries=target/classes'
            }
        }
        stage('Create custom images through docker') {
            steps {
                echo 'Create custom images through docker - success'
            }
        }
        stage('Push the custom image to harbor') {
            steps {
                echo 'Push the custom image to harbor - success'
            }
        }
        stage('Notify the target server through publish over SSH') {
            steps {
                echo 'Notify the target server through publish over SSH - success'
            }
        }
    }
}

sonar-project.properties

sonar.projectKey=my_code
sonar.projectName=my_code
sonar.projectVersion=1.0.0
#可以使用 . 扫描整个项目
sonar.sources=src/main/java
sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.java.binaries=target/classes

Dockerfile

FROM daocloud.io/library/java:8u40-jdk
COPY mycode.jar /soft/docker/test/
WORKDIR /soft/docker/test/
CMD java -jar mycode.jar

docker-compose.yml

version: '3.1'
services:
  mycode:
    image: mycode:v2.1.0
    build:
      context: ./
      dockerfile: Dockerfile
    container_name: mycode
    ports:
      - 8081:8080
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值