| 备注 | 修改日期 | 修改人 |
| 创建版本 | 2025-11-23 16:51:08[当前版本] | 文艺范儿 |
Jenkins首页 → 新建任务
输入名称: pipeline_game_job
选择: Pipeline
点击: OK
2.在Jenkins页面操作,进入到项目
再到git配置页面,由于前面已经在gitlab上添加了jenkins的ssh-key,所以这里不需要添加凭据
[root@201-jenkins game]# vim Jenkinsfile
[root@201-jenkins game]# cat Jenkinsfile
pipeline{
agent any
stages{
stage("get code"){
steps{
echo "get code"
}
}
stage("unit test"){
steps{
sh '/opt/sonar-scanner/bin/sonar-scanner -Dsonar.projectName=${JOB_NAME} -Dsonar.projectKey=html -Dsonar.sources=. '
}
}
stage("package"){
steps{
sh 'tar zcf /opt/web-${BUILD_ID}.tar.gz ./* --exclude=./git --exclude=Jenkinsfile'
}
}
stage("deploy"){
steps{
sh 'ssh 10.0.0.204 "cd /home/deploy/nginx/html && mkdir web-${BUILD_ID}"'
sh 'scp /opt/web-${BUILD_ID}.tar.gz 10.0.0.204:/home/deploy/nginx/html/web-${BUILD_ID}'
sh 'ssh 10.0.0.204 "cd /home/deploy/nginx/html/web-${BUILD_ID} && tar xf web-${BUILD_ID}.tar.gz && rm -rf web-${BUILD_ID}.tar.gz"'
sh 'ssh 10.0.0.204 "cd /home/deploy/nginx/html && rm -rf game && ln -s web-${BUILD_ID} /home/deploy/nginx/html/game"'
}
}
}
}
[root@201-jenkins game]# git add Jenkinsfile
[root@201-jenkins game]# git commit -m "newfile jenkinsfile"
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'root@201-jenkins.(none)')
[root@201-jenkins game]# git config --global user.email "root@mail.com"
[root@201-jenkins game]# git config --global user.name "root"
[root@201-jenkins game]# git commit -m "newfile jenkinsfile"
[main 0dce410] newfile jenkinsfile
1 file changed, 35 insertions(+)
create mode 100644 Jenkinsfile
[root@201-jenkins game]# git push -u origin main
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 680 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To git@10.0.0.200:ops/game.git
6a20db3..0dce410 main -> main
分支 main 设置为跟踪来自 origin 的远程分支 main。
[root@201-jenkins game]#
##还需要配置sonarscanner客户端让 Jenkinsfile里面的客户端sonarscanner成功执行
[root@201-jenkins ~]# cd /opt/sonar-scanner/conf/
[root@201-jenkins conf]# ll
总用量 4
-rw-r--r-- 1 root root 348 7月 21 14:46 sonar-scanner.properties
[root@201-jenkins conf]# vim sonar-scanner.properties
[root@201-jenkins conf]# cat sonar-scanner.properties
sonar.nodejs.executable=/usr/bin/node
sonar.nodejs.disableAutoDownload=true
sonar.javascript.file.suffixes=-1
sonar.typescript.file.suffixes=-1
sonar.host.url=http://10.0.0.203:9000
sonar.token=sqp_45f7bd377e3fa608e564098d0eb49c89b307b444
构建之后可以点开构建详情进行查看
可以看到流水线的执行过程和时间
插件名称为Blue Ocean,此处安装不做描述,安装完重启jenkins生效。
安装后可以打开构建查看下,可以查看到流水线过程时间,并且可以重启流水线工作