Jenkins部署配置及Jenkinsfile流水线任务示例【无图版】

一、下载

  • JDK环境下载:https://repo.huaweicloud.com/java/jdk/11.0.1+13/jdk-11.0.1_linux-x64_bin.tar.gz

  • Jenkins安装包下载:https://github.com/jenkinsci/jenkins/releases/tag/jenkins-2.375.3

二、Jdk/Java环境配置

  • 解压
tar -zxvf jdk-11.0.1_linux-x64_bin.tar.gz
mv jdk-11.0.1_linux-x64_bin /usr/local/jdk
  • 添加环境变量

vim /etc/profile

#   追加写入
........
# Java11
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${
   PATH}
export PATH=/usr/local/node/bin:${
   PATH}

  • 使配置生效
source /etc/profile

三、Jenkin初始化

  • jenkins存放目录
/www/jenkins/jenkins.war
  • 启动
nohup java -jar jenkins.war --httpPort=9080 > jenkins.log 2>&1 &
  • 安装

启动后在浏览器访问http://ip:9080,根据提示在~/.jenkins/secrets/initialAdminPassword文件中找到初始密码,根据提示选择安装推荐的插件

Install suggested plugins,安装后以后根据提示创建账号密码。

四、Jenkins配置

  • 添加全局SSH密钥【密钥为Jenkins所在服务器的私钥】

​ 地址:http://localhost:9080/manage/credentials/store/system/domain/_/

​ web界面:系统管理—>Manage Credentials—>System—>全局凭据 (unrestricted)—>Add Credentials ,根据要求添加私钥

  • 插件安装

    【Docker Pipline】:使用Jenkins构建镜像时需用到

    【build user vars】:获取构建者信息时需用到

五、流水线任务配置

1.创建一个流水线任务

以【FirstPipeline】为例

【web地址】:http://localhost:9080/job/FirstPipeline/configure

2.修改以下配置:

  • 2.1【Throttle builds】

    构建数:1
    Time period:Secone
    
  • 2.2 只勾选【不允许并发构建】

  • 2.3【参数化构建过程】:选择字符参数

    名称:target
    默认值:test
    描述:
    test:测试环境
    prod:生产环境
    
  • 2.4【流水线】

    定义:Pipeline script from SCM
    SCM:Git
    Repository URL:项目代码仓库地址
    Credentials:全局凭据里的保存的私钥
    Branches to build:指定分支:*/test
    源码库浏览器:(自动)
    脚本路径:Jenkinsfile
    勾选轻量级检出
    

六、Vue项目Jenkinsfile示例

采用指定节点声明式流水线写法

node {
   
    stage('拉取代码'){
   
        try {
   
            echo "拉取最新代码!"
            checkout scm
        }
        catch(err) {
   
            echo "拉取失败!"
            throw err
        }
    }
    stage('打包') {
   
        try{
   
            sh 'node --version'
            sh 'pnpm --version'
            sh 'pnpm --registry https://registry.npm.taobao.org install --no-frozen-lockfile'
            sh 'pnpm build'
        }
        catch(err){
   
            echo 'pnpm build failed'
            throw err
        }
    }
    stage('部署') {
   
        if (env.target == 'prod') {
   
            sh "rsync -zcav -e ssh dist/* server01:/data/www/website"
        }
    }
    stage('清理'){
   
        deleteDir()
    }
}

七、一些说明

这种方式未增加自动触发构建发布操作,每次更新代码后需手动到Jenkins上流水线任务中点击Build with Parameters才可触发构建发布操作。后续再更新配合gitlab webhook进行提交触发构建的步骤及所需的Jenkins 插件文档。

相关推荐

  1. 【DevOps-09-1】Jenkins流水线任务初体验

    2023-12-06 17:22:04       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 17:22:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 17:22:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 17:22:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 17:22:04       18 阅读

热门阅读

  1. Linux Camera Driver(3):DEBUG

    2023-12-06 17:22:04       34 阅读
  2. FAQ:Reference篇

    2023-12-06 17:22:04       28 阅读
  3. Android 项目的依赖方式

    2023-12-06 17:22:04       36 阅读
  4. 什么是Node.js,它有什么作用,可以干啥呢?

    2023-12-06 17:22:04       30 阅读
  5. 五花八门客户问题(BUG) - 重复打印

    2023-12-06 17:22:04       44 阅读
  6. linux下查看硬盘哪些文件夹比较大

    2023-12-06 17:22:04       31 阅读
  7. 什么是Redis?

    2023-12-06 17:22:04       41 阅读
  8. 开发一款短剧视频小程序软件多少钱?

    2023-12-06 17:22:04       33 阅读
  9. 什么是Ros(一)- 名词解释和架构概述

    2023-12-06 17:22:04       39 阅读
  10. Ubuntu 20.4 源代码方式安装 cdo(笔记)

    2023-12-06 17:22:04       31 阅读