docker中的jenkins之流水线构建项目
1、用node这种方式(因为我用pipeline方式一直不执行,不知道为什么)

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

 
3、使用git项目中的Jenkinsfile

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、启动
填写端口号

启动

sonarQube成功

项目启动成功













![[C#] 简单的俄罗斯方块实现](https://img-blog.csdnimg.cn/7352d9c5ae3f4f9f8f1bea49a719dae4.png)







