Jenkins 配置 Blue Ocean 优化 pipeline(scm)

Blue Ocean

官方链接

​ Blue Ocean为开发人员提供了更具乐趣的Jenkins使用方式,它是从基础开始构建的,实现了一种全新的、现代风格的用户界面,有助于任何规模的团队实现持续交付。

它以Jenkins插件的方式安装,并集成于Jenkins的流水线中。

Blue Ocean 我们需要知道的几点:

  • 是一个插件, 旨在为Pipeline提供丰富的体验 ;
  • 连续交付(CD)Pipeline的复杂可视化,允许快速和直观地了解Pipeline的状态;
  • 目前支持的类型仅针对于Pipeline,尚不能替代Jenkins 经典版UI

安装 Blue Ocean

要在现有的Jenkins实例上安装Blue Ocean插件套件,您的Jenkins实例必须运行Jenkins 2.7.x或更高版本。

  1. 管理Jenkins ,然后单击中心的 管理插件

  2. 点击 可用的 选项卡,然后在 过滤 文本框键入 blue ocean ,将过两次插件列表为名称/描述包含“blue”和“ocean”的插件名单。

Blue Ocean plugins filtered

  1. 选择 安装 列顶部附近的 Blue Ocean 插件复选框,然后单击 立刻下载并在重启后安装 按钮(推荐)或 安装而不重新启动按钮
    注意:
  • 无需选择此过滤列表中其他插件的复选框,因为 Blue Ocean 插件具有其他插件的依赖关系(构成Blue Ocean的插件套件),当您点击安装, 其他插件将被自动选择和安装。
  • 如果你选择 安装不重启 按钮, 你可能需要重启Jenkins来获取Blue Ocean的完整功能。

优化 pipeline(scm)

  • 启用 pipeline scm ;在项目中新建Jenkinsfile文件,拷贝已有script内容

  • 优化代码检出阶段

    由于目前已经配置了使用git仓库地址,且使用SCM来检测项目,因此代码检出阶段完全没有必要 再去指定一次

  • 构建镜像的 tag 使用 git 的 commit id

  • 增加post阶段的消息通知,丰富通知内容(钉钉、或者微信)

checkout 步骤为检查代码; scm 是一个特殊变量,指示 checkout 步骤克隆触发此 Pipeline 运行的 特定修订

意思就是,哪个代码提交触发了我,我就去克隆下载那个代码;

这里边的环境变量,可以去 printenv 去查找;

Jenkinsfile 配置

# 项目根目录 创建 Jenkinsfile
touch Jenkinsfile

# 将下边的内容拷贝进去
# cat Jenkinsfile
pipeline {
    agent { label '10.23.1.33'}

    stages {
        stage('printenv') {
            steps {
            echo 'Hello World'
            sh 'printenv'
            }
        }
        stage('check') {
            steps {
                checkout scm
            }
        }
        stage('build-image') {
            steps {
            	retry(2) { sh 'docker build . -t myblog:${GIT_COMMIT}'}
            }
        }
    }
    post {
        success {
            echo 'Congratulations!'
            sh """
                curl 'https://oapi.dingtalk.com/robot/send?access_token=31eaac64808eb1f76251e7c8435d0647bcc9070212e4eaf6186e7d9e060bb9f9' \
                    -H 'Content-Type: application/json' \
                    -d '{"msgtype": "text",
                            "text": {
                                "content": "jenkins-hk \n 😄👍构建成功👍😄\n 项目名称: ${JOB_BASE_NAME}\n Commit Id: ${GIT_COMMIT}\n 构建地址:${RUN_DISPLAY_URL}
                                 "
                             }
                        }'
            """
        }
        failure {
            echo 'Oh no!'
            sh """
                curl 'https://oapi.dingtalk.com/robot/send?access_token=31eaac64808eb1f76251e7c8435d0647bcc9070212e4eaf6186e7d9e060bb9f9' \
                    -H 'Content-Type: application/json' \
                    -d '{"msgtype": "text",
                            "text": {
                                "content": "jenkins-hk \n 😄👍构建成功👍😄\n 项目名称: ${JOB_BASE_NAME}\n Commit Id: ${GIT_COMMIT}\n 构建地址:${RUN_DISPLAY_URL}
                                 "
                            }
                        }'
            """
        }
        always {
            echo 'I will always say Hello again!'
        }
    }
}

jenkins 配置

image-20220726123351435

image-20220726123407159

posted @ 2022-07-26 12:38  Star-Hitian  阅读(961)  评论(0编辑  收藏  举报