Jenkins Blue Ocean 环境搭建和Pipeline基本使用(基于docker-compose)

1. 什么是 Blue Ocean

Blue Ocean 是Jenkins的开源子项目,在保证原有强大的功能不变的基础下,对持续交付(CD)Pipeline过程的可视化方面相较于Jenkins 之前的经典界面有了很大的提升。
在这里插入图片描述

具体的介绍、来历、优势可以参见官网的介绍:Blue Ocean

2. 如何安装 Blue Ocean

  1. 在已有Jenkins实例上安装 ,Jenkins安装插件:Blue Ocean(这里Jenkins必须是 2.7.x或更高版本),其他有依赖关系的插件会自动安装。
    在这里插入图片描述

  2. 基于Docker安装 ,Blue Ocean套件与Jenkins捆绑,可以直接构建 jenkinsci/blueocean镜像来搭建环境。(需要docker环境和docker-compose)

3. 使用docker-compose 启动 Blue Ocean

3.1编写 docker-compose.yml

version: "3.8"

services:
  jenkins:
    image: jenkinsci/blueocean:latest
    container_name: jenkinsci_cf
    restart: always
    privileged: true
    user: root
    volumes:
      - /var/jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - "8080:8080"
      - "50000:50000"
    environment:
      TZ: Asia/Shanghai

3.2 启动

docker-compose up -d

3.3 访问
http://localhost:8080/
在这里插入图片描述

后续就是安装Jenkins的一般步骤了
输入管理员密码
在这里插入图片描述
可以通过容器的运行日志查看管理员密码

docker logs 容器id

在这里插入图片描述
输入管理员密码,选择推荐安装的插件。
在这里插入图片描述
安装过程中…
在这里插入图片描述
创建一个管理员账号
在这里插入图片描述

配置一个实例url配置,本地尝试的话默认即可
在这里插入图片描述
完成后就可以开始了
在这里插入图片描述

4. 测试代码准备

4.1 本例测试为一个前端项目,在项目根目录下添加一个名为Jenkinsfile的文件
在这里插入图片描述
Jenkinsfile文件内容如下:

pipeline {
    agent {
        docker {
            image 'node:6-alpine' 
            args '-p 3000:3000' 
        }
    }
    stages {
        stage('Build') { 
            steps {
                sh 'npm install' 
            }
        }
        stage('Deliver') { 
            steps {
            	sh 'chmod 777 ./script/*.sh'
                sh './script/deliver.sh' 
                input message: 'Finished using the web site? (Click "Proceed" to continue)' 
                sh './script/kill.sh' 
            }
		}
    }
}

4.2 准备发布发布和结束脚本
在项目根目录下添加一个名为script的文件夹,并在该文件夹下添加deliver.sh和kill.sh
deliver.sh

set -x
npm start &
sleep 1
echo $! > .pidfile
set +x

kill.sh

set -x
kill $(cat .pidfile)

项目结构如下:
在这里插入图片描述
最后,所有代码push到github

5. 配置第1个Job

5.1点击新建Item,创建第一个任务
在这里插入图片描述
5.2任务名称填写,选择流水线构建,即Pipeline,点击"确定"进入下一步
在这里插入图片描述
5.3进入任务配置页面仍是选择 流水线tab
定义 栏,选择 Pipeline script from SCM 选项。此选项是指Jenkins从源代码管理(SCM)仓库获取你的源码, 这里的仓库就是你clone到本地的Git仓库。
在 SCM 域中,选择 Git。
Repository URL:填入一个git代码仓库地址,本例为一个前端项目
在这里插入图片描述
添加一个github账号
在这里插入图片描述
在这里插入图片描述
添加完成之后需要选择刚才添加的账号
在这里插入图片描述
指定拉取的分支,分清是main还是master。
在这里插入图片描述
脚本路径是之前在项目根目录中的Jenkinsfile
在这里插入图片描述
最后完整的配置如下图
在这里插入图片描述
点击“保存”
5.4 运行Jenkins任务
在任务详情页点击打开 blue ocean,进入 Jenkins的Blue Ocean 界面
在这里插入图片描述
在这里插入图片描述
点击“运行”开始构建任务,可以点击记录进入到任务执行的详情页查看执行情况
在这里插入图片描述

遇到构建步骤中的input message,即之前在Jenkinsfile中描述的步骤

stage('Deliver') { 
            steps {
            	...
                input message: 'Finished using the web site? (Click "Proceed" to continue)' 
                ...
            }
		}

在这里插入图片描述
此时访问 http://localhost:3000/,可以访问到项目页面
点击“继续”,执行结束脚本,跑完整个流程
在这里插入图片描述

### 如何在 Jenkins使用 Docker Compose #### 配置环境变量与插件支持 为了使 Jenkins 能够顺利调用 `docker-compose`,需确保 Jenkins 主机已正确安装并配置好 Docker Docker Compose[^1]。此外,在 Jenkins 上应安装 Docker 插件以便更好地管理容器化应用。 #### 创建 Jenkins Pipeline 文件 通过编写 Groovy 脚本定义 CI/CD 流程中的各个阶段操作。下面是一个简单的 Jenkinsfile 示例,展示了如何利用 Docker Compose 构建项目: ```groovy pipeline { agent any environment { DOCKER_COMPOSE_VERSION = '1.29.2' } stages { stage('Setup') { steps { script { sh ''' sudo curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m) \ -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose ''' } } } stage('Build and Start Services') { steps { dir ('path/to/project'){ sh 'docker-compose up --build -d' } } } stage('Run Tests') { steps { dir ('path/to/project'){ sh 'docker-compose exec service_name bash -c "./run_tests.sh"' } } } stage('Stop Containers After Build') { post { always { dir ('path/to/project'){ sh 'docker-compose down' } } } } } } ``` 此脚本首先设置了所需的 Docker Compose 版本作为环境变量;接着下载并设置权限给定版本的 Docker Compose 可执行文件;最后按照顺序启动服务、运行测试以及清理资源[^2]。 #### 使用预构建网络服务链接 如果希望多个微服务之间能够互相通信,则可以在 `docker-compose.yml` 文件里预先创建共享网络结构[^3]。这有助于简化不同服务间的连接配置,并提高系统的可维护性扩展性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值