docker中的jenkins之流水线构建

docker中的jenkins之流水线构建项目

1、用node这种方式(因为我用pipeline方式一直不执行,不知道为什么)

docker中的jenkins之流水线构建_第1张图片

2、创建项目

创建两个参数,一个是宿主端口号,一个是docker中的端口号

docker中的jenkins之流水线构建_第2张图片
docker中的jenkins之流水线构建_第3张图片

3、使用git项目中的Jenkinsfile

docker中的jenkins之流水线构建_第4张图片

4、编写脚本

node {  
    stage('拉取git代码') {
            git credentialsId: 'root', url: 'https://gitxxx‘
        }

    stage('maven构建') {
            sh '/var/jenkins_home/apache-maven-3.9.0/bin/mvn clean package -DskipTests'
        }
    stage('sonar分析') {
        sh '/var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/sonarQube/bin/sonar-scanner -Dsonar.source=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.java.binaries=./target/ -Dsonar.login=924cfb420a2dbefc9bbbbba887ceb4176b0e859f -Dsonar.host.url=http://docker.for.mac.host.internal:9000'
    }

      stage('docker构建加部署') {
sh '''      docker kill ${JOB_NAME} || true
            docker rm ${JOB_NAME} || true
            docker rmi ${JOB_NAME} || true
            docker build -t ${JOB_NAME} /var/jenkins_home/workspace/test
            docker run -d -p ${container_port}:${host_port} --name ${JOB_NAME} ${JOB_NAME}:latest'''
        }
}

其中 Dsonar.host.url=http://docker.for.mac.host.internal:9000’
主要是docker中的jenkins访问docker中的sonarQube,详情可以看我另外推文:https://blog.csdn.net/weixin_48319193/article/details/132124664?spm=1001.2014.3001.5501

5、启动

填写端口号

docker中的jenkins之流水线构建_第5张图片

启动

docker中的jenkins之流水线构建_第6张图片

sonarQube成功

docker中的jenkins之流水线构建_第7张图片

项目启动成功

docker中的jenkins之流水线构建_第8张图片

你可能感兴趣的:(docker,jenkins,java)