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} || truedocker rm ${JOB_NAME} || truedocker rmi ${JOB_NAME} || truedocker build -t ${JOB_NAME} /var/jenkins_home/workspace/testdocker 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