Jenkins 使用指南

Jenkins 使用指南

1. 安装

官网参考地址:https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos

Jenkins 需要 Java 才能运行,但默认情况下并非所有 Linux 发行版都包含 Java。此外,并非所有 Java 版本都与 Jenkins 兼容。

运行 Jenkins 需要以下 Java 版本:

官网参考地址:https://www.jenkins.io/doc/book/platform-information/support-policy-java/

Supported Java versionsLong term support (LTS)Weekly release
Java 17 or Java 212.479.1 (October 2024)2.463 (June 2024)

本指南以:Java 17 和 Jenkins 2.479.1 为例。

1.1 从 yum 存储库安装

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
yum upgrade
yum install jenkins

1.2 修改 Jenkins 服务的启动文件

vim /usr/lib/systemd/system/jenkins.service
  • 修改 Java 环境指向地址

    # The Java home directory. When left empty, JENKINS_JAVA_CMD and PATH are consulted.
    Environment="JAVA_HOME=/home/jdk-17.0.11"
    
  • 修改 Jenkins 用户账号权限

    # Unix account that runs the Jenkins daemon
    # Be careful when you change this, as you need to update the permissions of
    # $JENKINS_HOME, $JENKINS_LOG, and (if you have already run Jenkins)
    # $JENKINS_WEBROOT.
    User=root
    Group=root
    

2. 启动

  • 刷新 service 文件

    systemctl daemon-reload
    
  • 使 Jenkins 服务在启动时启

    systemctl enable jenkins
    
  • 启动 Jenkins 服务

    systemctl start jenkins
    
  • 检查 Jenkins 服务的状态

    systemctl status jenkins
    

3. 解锁 Jenkins

  • 浏览到 http://ip:8080 等待 Unlock Jenkins 页面 出现
  • 安装所有默认推荐的插件
  • 创建第一个管理员账号

4. 安装插件

Dashboard > 系统管理 > 插件管理

  • 安装 Blue Ocean:用户美化更直观的看到部署过程

  • 安装 Pipeline Keep Running Step:即使构建已完成也保持进程运行

    如果不使用这个插件 java 项目后台启动,在构建完成后 java 项目会被自动关闭

5. 全局安全配置

Dashboard > 系统管理 > 全局安全配置

  • 跨站请求伪造保护:勾选启用代理兼容

6. 添加用户Token

Dashboard > 系统管理 > 管理用户 > Security

将这个 token 保存 以便 WebHooks 使用

2. 部署 SpringBoot 项目

2.1 安装 maven

springBoot 项目 需要使用 maven 进行打包

官网参考地址:https://maven.apache.org/download.cgi

本指南以:maven 3.9.9 为例。

  • 上传至目录:/home

  • 解压

    cd /home
    tar zxvf /apache-maven-3.9.9-bin.tar.gz
    
  • 设置环境变量

    vim /etc/profile
    

    在文件末尾新增如下内容:

    export PATH="/home/apache-maven-3.9.9/bin:$PATH"
    
  • 刷新环境变量

    source /etc/profile
    
  • 配置远程仓库地址

    <mirrors>
        <mirror>
          <id>aliyunmaven</id>
          <mirrorOf>*</mirrorOf>
          <name>阿里云公共仓库</name>
          <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    </mirrors>
    

2.2 创建 Jenkinsfile 文件

pipeline {
    agent any

    environment {
        // 定义 java 和 maven 的环境地址
        PATH = "${PATH}:/home/apache-maven-3.9.9/bin:/home/jdk-17.0.11/bin"
        // jar 包的名称 由 pom.xml 里的内容指定
        JAR_FILE = "demo-0.0.1-SNAPSHOT.jar"
    }

    stages {

        stage('打包') {
            steps {
                // 清除原来的包 并 打新的包
                sh "mvn clean package"
            }
        }

        stage('制品') {
            steps {
                // 将打好的新包 作为成品保存 以便后续回滚
                archiveArtifacts artifacts: "target/${JAR_FILE}", followSymlinks: false, onlyIfSuccessful: true
            }
        }

        stage('部署') {
            steps {
                // 由于我的 nginx 代理使用的是 home 目录下的 jar 包 所以此处需要复制到指定地址
                sh "mkdir -p /home"
                sh "cp target/${JAR_FILE} /home"
                // 查看当前 jar 包的 进程id 并强制停止
                sh '''
                    PID=$(ps -ef | grep "${JAR_FILE}" | grep -v grep | awk '{print $2}')
                    if [ -n "$PID" ]; then
                        kill -9 $PID
                    fi
                '''
                // 启动 并将日志写入 /home/management.log
                keepRunning {
                    sh "nohup java -jar /home/${JAR_FILE} > /home/management.log 2>&1 &"
                }
            }
        }
    }
}

2.3 新建任务

  • 任务名称:management-server-dispose
  • 任务类型:流水线

2.4 设置流水线

  • 设置触发远程构建的令牌 例如:123456

  • 定义:Pipeline script from SCM

  • SCM:Git

  • Repository URL:选择自己项目的 Git 地址

  • Credentials:设置 Jenkins 凭据提供者(自己项目 Git 的用户名和密码)

2.5 在 Git 项目中设置 WebHooks

http://{登录名}:{用户token}@{ip:port}/job/{任务名称}/build?token={流水线令牌}

  • URL:http://admin:123456789abcdefg@127.0.0.1:8080/job/management-server-dispose/build?token=123456

3. 部署 VUE3 项目

3.1 安装 node

官方提供的高版本 node 需要依赖高版本的 glic

可以使用下面的地址下载:

下载地址:https://unofficial-builds.nodejs.org/download/release/v20.18.3/

  • 上传至目录:/home

  • 解压:

    cd /home
    tar -zxvf node-v20.18.3-linux-armv6l.tar.gz 
    
  • 设置环境变量

    vim /etc/profile
    

    在文件末尾新增如下内容:

    export PATH="/home/node-v20.18.3-linux-x64-glibc-217/bin:$PATH"
    
  • 刷新环境变量

    source /etc/profile
    
  • 全局安装 pnpm

    npm install -g pnpm@10.6.3
    

3.2 创建 Jenkinsfile 文件

pipeline {
    agent any

    environment {
        PATH = "${PATH}:/home/node-v20.18.3-linux-x64-glibc-217/bin"
    }

    stages {

        stage('打包') {
            steps {
                sh "pnpm install"
                sh "pnpm run build"
                sh "tar -cvf dist.tar dist/*"
            }
        }

        stage('制品') {
            steps {
                archiveArtifacts artifacts: "dist.tar", followSymlinks: false, onlyIfSuccessful: true
            }
        }

        stage('部署') {
            steps {
                sh "mkdir -p /home"
                sh "cp dist.tar /home"
                sh "tar -xvf /home/dist.tar -C /home"
            }
        }
    }
}

3.3 新建任务

  • 任务名称:management-front-dispose
  • 任务类型:流水线

3.4 设置流水线

  • 设置触发远程构建的令牌 例如:123456

  • 定义:Pipeline script from SCM

  • SCM:Git

  • Repository URL:选择自己项目的 Git 地址

  • Credentials:设置 Jenkins 凭据提供者(自己项目 Git 的用户名和密码)

3.5 在 Git 项目中设置 WebHooks

http://{登录名}:{用户token}@{ip:port}/job/{任务名称}/build?token={流水线令牌}

  • URL:http://admin:123456789abcdefg@127.0.0.1:8080/job/management-front-dispose/build?token=123456

附加:如果系统中没有安装 Git 请先安装 Git

官网参考地址:https://git-scm.com/downloads/linux

  • 使用 yum 安装

    yum install git
    
  • 安装完成后查看 git 版本

    git --version
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值