博客
关于我
Devops——Jenkis持续集成的安装测试教程
阅读量:797 次
发布时间:2023-03-28

本文共 3114 字,大约阅读时间需要 10 分钟。

Jenkins安装与配置及持续集成流程详解

Jenkins是一款流行的开源持续集成工具,广泛应用于软件开发中的自动化构建、测试及部署。通过Jenkins,可以实现代码自动化集成,减少开发过程中的重复劳动,提升效率。本文将详细介绍Jenkins的安装配置、项目构建流程以及结合Docker和Spring Cloud微服务的持续集成方案。

Jenkins安装与环境配置

1. 安装Jenkins

在CentOS系统上安装Jenkins,可以通过以下步骤完成:

  • 安装Java Development Kit (JDK):
  • yum install java-1.8.0-openjdk* -y
    1. 下载Jenkins安装包:
    2. https://jenkins.io/zh/download/
      1. 安装Jenkins:
      2. rpm -ivh jenkins-2.190.3-1.1.noarch.rpm
        1. 配置Jenkins服务:
        2. vi /etc/sysconfig/jenkins

          编辑内容如下:

          JENKINS_USER="root"
          JENKINS_PORT="8888"
          1. 启动Jenkins服务:
          2. systemctl start jenkins
            systemctl enable jenkins
            1. 访问Jenkins界面:
            2. http://服务器IP:8888

              2. 插件管理

              Jenkins默认插件仓库可能较慢,建议使用国内镜像:

              cd /var/lib/jenkins/updates
              sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
              sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

              安装完成后,访问Jenkins界面,点击Manage Plugins,添加所需插件。

              3. 用户权限管理

              为了保障Jenkins服务器的安全性,可以使用Role-based Authorization Strategy插件进行权限管理。创建必要的角色,并分配相应权限。

              4. 凭证管理

              Jenkins支持通过插件管理凭证,如Git、SSH等,确保第三方工具的访问权限。

              Maven项目构建

              在Jenkins中,Maven插件用于编译和打包项目。配置Maven环境变量,并在项目构建步骤中添加Maven插件。

              1. 环境配置

              安装Maven:

              tar -xzf apache-maven-3.6.2-bin.tar.gz
              mv apache-maven-3.6.2/* /opt/maven/

              配置环境变量:

              vi /etc/profile
              source /etc/profile
              mvn -v

              2. 配置Jenkins插件

              在Jenkins中添加Maven插件,确保项目能够成功编译和打包。

              SonarQube代码审查

              1. 安装SonarQube

            3. 安装MySQL(已完成)。
            4. 解压SonarQube:
            5. tar -xzf sonarqube-6.7.4.zip
              mv sonarqube-6.7.4/* /opt/sonar/
              1. 配置SonarQube:
              2. sonar.jdbc.username=root
                sonar.jdbc.password=Root@123
                sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8

                2. 配置Jenkins

                在项目中添加SonarQube插件,设置项目参数如源码路径、排除文件等。

                3. 集成代码审查

                在Jenkinsfile中添加SonarQube步骤:

                stage('代码审查') {
                withSonarQubeEnv('sonarqube6.7.4') {
                sh "${scannerHome}/bin/sonar-scanner"
                }
                }

                Jenkins+Docker+Spring Cloud微服务持续集成

                1. 项目代码管理

                将微服务项目托管至GitLab,定期提交代码。

                2. 构建与镜像生成

              3. 在项目POM中添加Dockerfile-Maven插件:
              4. com.spotify
                dockerfile-maven-plugin
                1.3.6
                ${project.artifactId}
                target/${project.build.finalName}.jar
                1. 创建Dockerfile:
                2. FROM java:8
                  ARG JAR_FILE
                  COPY ${JAR_FILE} app.jar
                  EXPOSE 10086
                  ENTRYPOINT ["java","-jar","/app.jar"]

                  3. 镜像上传至Harbor

                3. 配置Harbor凭证:
                4. docker login -u itcast -p Itcast123 192.168.66.102:85
                  1. 推送镜像:
                  2. docker tag eureka:v1 192.168.66.102:85/tensquare/eureka:v1
                    docker push 192.168.66.102:85/tensquare/eureka:v1

                    4. 部署应用

                  3. 使用SSH插件将镜像拉取至生产服务器并启动容器。
                  4. 配置Nginx反向代理,确保前端访问流畅。
                  5. Git远程仓库代码拉取

                    在Jenkins中,使用Git插件拉取远程仓库代码,可以指定特定分支或目录,存储至工作空间。

                    1. 配置Git仓库

                    git.url = git@192.168.66.100:itheima_group/tensquare_back.git
                    git.branches = ["*/master"]

                    2. 添加额外行为

                    在Job Settings中,添加Sparse Checkout paths和Checkout to a sub-directory,指定拉取的目录和存储位置。

                    微服务持续集成流程

                    1. 项目构建

                    Jenkins自动拉取代码,编译打包,生成镜像。

                    2. 镜像上传

                    镜像通过Harbor仓库上传,确保镜像安全性和可访问性。

                    3. 应用部署

                    使用SSH插件将镜像部署至生产服务器,启动服务。

                    4. 前端部署

                    配置Nginx反向代理,确保前端访问稳定。

                    总结

                    通过以上步骤,Jenkins可以实现从代码提交到镜像构建、部署的完整持续集成流程。结合Docker和Spring Cloud微服务,实现了前后端分离的高效部署。SonarQube代码审查和GitLab集成,进一步提升了开发效率和代码质量。

    转载地址:http://johfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现检查给定图中是否存在循环算法(附完整源码)
    查看>>
    Objective-C实现检查给定字符串是否在camelCase中算法(附完整源码)
    查看>>
    Objective-C实现检查给定的字符串是否在kebabcase中算法(附完整源码)
    查看>>
    Objective-C实现检查给定的字符串是否在snake_case中算法(附完整源码)
    查看>>
    Objective-C实现检查给定的字符串是否是扁平(全部小写)的算法(附完整源码)
    查看>>
    Objective-C实现检检查回文字符串(区分大小写)算法(附完整源码)
    查看>>
    Objective-C实现检测U盘的插入与拔出 (附完整源码)
    查看>>
    Objective-C实现检测列表中的循环算法(附完整源码)
    查看>>
    Objective-C实现检测耳机插拔功能(附完整源码)
    查看>>
    Objective-C实现模拟键盘鼠标(附完整源码)
    查看>>
    Objective-C实现模板方法模式(附完整源码)
    查看>>
    Objective-C实现欧几里得距离(附完整源码)
    查看>>
    Objective-C实现欧几里得距离(附完整源码)
    查看>>
    Objective-C实现欧拉路径和欧拉回路算法(附完整源码)
    查看>>
    Objective-C实现正向CMDShell(附完整源码)
    查看>>
    Objective-C实现正数num使用递归找到它的二进制算法(附完整源码)
    查看>>
    Objective-C实现水波纹显示效果(附完整源码)
    查看>>
    Objective-C实现求 1 到 20 的所有数整除的最小正数算法 (附完整源码)
    查看>>
    Objective-C实现求1000以内的全部亲密数(附完整源码)
    查看>>
    Objective-C实现求a的逆元x(附完整源码)
    查看>>