本文共 3114 字,大约阅读时间需要 10 分钟。
Jenkins是一款流行的开源持续集成工具,广泛应用于软件开发中的自动化构建、测试及部署。通过Jenkins,可以实现代码自动化集成,减少开发过程中的重复劳动,提升效率。本文将详细介绍Jenkins的安装配置、项目构建流程以及结合Docker和Spring Cloud微服务的持续集成方案。
在CentOS系统上安装Jenkins,可以通过以下步骤完成:
yum install java-1.8.0-openjdk* -y
https://jenkins.io/zh/download/
rpm -ivh jenkins-2.190.3-1.1.noarch.rpm
vi /etc/sysconfig/jenkins
编辑内容如下:
JENKINS_USER="root"JENKINS_PORT="8888"
systemctl start jenkinssystemctl enable jenkins
http://服务器IP:8888
Jenkins默认插件仓库可能较慢,建议使用国内镜像:
cd /var/lib/jenkins/updatessed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.jsonsed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
安装完成后,访问Jenkins界面,点击Manage Plugins,添加所需插件。
为了保障Jenkins服务器的安全性,可以使用Role-based Authorization Strategy插件进行权限管理。创建必要的角色,并分配相应权限。
Jenkins支持通过插件管理凭证,如Git、SSH等,确保第三方工具的访问权限。
在Jenkins中,Maven插件用于编译和打包项目。配置Maven环境变量,并在项目构建步骤中添加Maven插件。
安装Maven:
tar -xzf apache-maven-3.6.2-bin.tar.gzmv apache-maven-3.6.2/* /opt/maven/
配置环境变量:
vi /etc/profilesource /etc/profilemvn -v
在Jenkins中添加Maven插件,确保项目能够成功编译和打包。
tar -xzf sonarqube-6.7.4.zipmv sonarqube-6.7.4/* /opt/sonar/
sonar.jdbc.username=rootsonar.jdbc.password=Root@123sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
在项目中添加SonarQube插件,设置项目参数如源码路径、排除文件等。
在Jenkinsfile中添加SonarQube步骤:
stage('代码审查') { withSonarQubeEnv('sonarqube6.7.4') { sh "${scannerHome}/bin/sonar-scanner" }} 将微服务项目托管至GitLab,定期提交代码。
com.spotify dockerfile-maven-plugin 1.3.6 ${project.artifactId} target/${project.build.finalName}.jar
FROM java:8ARG JAR_FILECOPY ${JAR_FILE} app.jarEXPOSE 10086ENTRYPOINT ["java","-jar","/app.jar"] docker login -u itcast -p Itcast123 192.168.66.102:85
docker tag eureka:v1 192.168.66.102:85/tensquare/eureka:v1docker push 192.168.66.102:85/tensquare/eureka:v1
在Jenkins中,使用Git插件拉取远程仓库代码,可以指定特定分支或目录,存储至工作空间。
git.url = git@192.168.66.100:itheima_group/tensquare_back.gitgit.branches = ["*/master"]
在Job Settings中,添加Sparse Checkout paths和Checkout to a sub-directory,指定拉取的目录和存储位置。
Jenkins自动拉取代码,编译打包,生成镜像。
镜像通过Harbor仓库上传,确保镜像安全性和可访问性。
使用SSH插件将镜像部署至生产服务器,启动服务。
配置Nginx反向代理,确保前端访问稳定。
通过以上步骤,Jenkins可以实现从代码提交到镜像构建、部署的完整持续集成流程。结合Docker和Spring Cloud微服务,实现了前后端分离的高效部署。SonarQube代码审查和GitLab集成,进一步提升了开发效率和代码质量。
转载地址:http://johfk.baihongyu.com/