CICD の jenkins 安装和基本使用
安装 jenkins 主从环境
docker-compose 搭建:
services:
jenkins:
image: jenkins/jenkins:lts-jdk17
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- ./jenkins_home:/var/jenkins_home
ubuntu-node:
image: ubuntu:24.04
# 若想以交互式方式运行,取消注释以下 command 行
# command: bash
# 若想以后台方式运行,使用以下 command 行
command: sleep infinity
stdin_open: true # 保持标准输入打开,用于交互式会话
tty: true # 分配一个伪终端
environment:
- TZ=Asia/Shanghai
volumes:
- ./ubuntu_jenkins_home:/var/jenkins_home
其中,8080 是web管理页面端口,5000是主从交互端口
jenkins_home 目录已映射到宿主机,访问 8080 端口,打开页面,并输入密码,初始密码在
cat jenkins_home/secrets/initialAdminPassword
- 输入密码,进入界面,选择推荐组件全部安装
- 跳过创建用户,直接使用 admin 账号登录
配置 worker 节点
jenkins 只负责发送构建命令,剩余均在工作节点完成,所以,要保证构建命令,都能手动跑通,已 go项目构建为例 需要在 =worker node 上安装如下服务
- go 环境
- make: 使用 makefile 文件来控制构建
- git: 拉代码和切换分支
- openssh-server: 主从通过 ssh 鉴权通信
- java 环境: 主从通信的服务是使用
java写的
在节点列表中,点击 new node 添加新节点

测试连接是否正常

如下,表示连接正常

权限配置
为方便角色管理,在插件管理中,下载 Role-based Authorization Strategy

安装完成,在安全配置中,选择 基于角色的授权策略

在设置页面,进入 Manage and Assign Roles 插件
创建用户
在 Dashboard 》Manage Jenkins》Jenkins’ own user database 中创建三个用户,用来实现常见的工作场景: 后端开发只能看到后端项目。前端开发只能看到前端项目。测试前后端都能看到,但只能编译,不能改构架逻辑
- dev01: 后端开发人员,密码 123456
- dev02: 前端开发人员,密码 123456
- test01: 测试人员,密码 123456

配置全局角色
依次进入 系统管理 >> Manage and Assign Roles >> Manage Roles

添加 item 权限
设置三种角色,使用正则匹配对应 item 项目,在后面框中,勾选每个角色各自的权限

创建 go 开头的文件夹,对应 go角色

如上方法,再创建一个 front开头的前端文件夹,对应 vue 角色
使用不同账号登录,只能看到自己的项目,符合预期

创建一个项目
推荐使用主流的流水线,创建项目

Pipeline 是使用 Groovy 语法写的,Groovy 是一种基于 javar 的弱类型语言,一般人没有必要懂,直接使用模板,生成一个就行了

简单的例子如下:
- agent: 通过 lable 指定,要在 ubuntu-node 这个节点上构建(从节点)
- stage("xxxx"): xxx 代表执行步骤,会顺序执行,xxx 的名字完全可以自定义
pipeline {
agent { label 'ubuntu-node' }
stages {
stage('Hello') {
steps {
echo 'Hello World'
}
}
stage('pullcode') {
steps {
git 'https://gitee.com/rush_peng/go_test.git'
}
}
stage('build') {
steps {
sh 'make build'
}
}
}
}
浙公网安备 33010602011771号