1 Star 2 Fork 2

AutoM Studio / simple-jenkins

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

在本地快速部署 Jenkins

环境准备

准备一个安装有 docker 和 docker-compose 的主机即可。

组成部分

  • master 接收 webhook ,调度任务等
  • agent 执行构建任务
  • dind 构建镜像

开始部署

部署 master

  • 修改持久化目录属主为 1000:1000
cd jenkins/master
chown -R 1000:1000 jenkins_home
chown -R 1000:1000 init.groovy.d
  • 执行 docker-compose 命令完成部署

创建 docker network

docker network create -d bridge jenkins-cluster

启动

docker-compose up -d
  • 完成初始化并安装插件

blueocean 镜像已包含常用插件,在首次访问 Jenkins 时,选择安装推荐插件即可。

初始化完成后,登录 Jenkins ,进入“系统管理->插件管理->可选插件” 在搜索框搜索 “gitee” ,选中 gitee 插件安装。

install jenkins plugin 1

install jenkins plugin 2

  • 配置 Gitee 插件

完成 gitee 插件安装后,进入“系统管理->系统配置”,定位到 “Gitee 配置” 部分,创建证书令牌(需要先在 Gitee 创建 Gitee API V5 的私人令牌),并完成配置。

config gitee plugin

  • 新建 agent

进入 “系统管理->节点列表” ,点击新建节点

创建两个“固定节点”,节点配置如下

add agent 1

add agent 2

add agent 3

add agent 4

创建完成后,点击节点,查看节点连接信息,部署 agent 时需要提供该连接信息

add agent 5

部署 agent

  • 构建自定义 agent 镜像

下载 kubectl 、 docker 、 helm 二进制文件

cd jenkins/agent/bin
curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.21.6/bin/linux/amd64/kubectl"
# 或者从 https://cowtransfer.com/s/564949f6d62b43 下载

准备 .kube 和 .docker 文件夹,用于授权访问 kubernetes api-server 和 harbor 镜像仓库

.kube/config 从 kubernetes 集群内获取

创建 .docker/config.json

harbor_addr=hub.atompi.cc
harbor_username=admin
harbor_password=admin123
auth_str=$(echo -ne "$harbor_username:$harbor_password" | base64)
cat > .docker/config.json <<EOF
{
        "auths": {
                "$harbor_addr": {
                        "auth": "$auth_str"
                }
        }
}
EOF

docker build agent 镜像

docker build -t $harbor_addr/jenkins/inbound-agent:4.11-1-kube .
docker push $harbor_addr/jenkins/inbound-agent:4.11-1-kube
  • 执行 docker-compose 命令完成部署

修改 docker-compose.yml 中的 secret 个 agent_name ,对应于上面 master 中创建的节点连接信息

docker-compose up -d

部署 dind

  • 创建 daemon.json
cd dind
harbor_addr=hub.atompi.cc
dns_addr=172.18.0.39
cat > etc/daemon.json <<EOF
{
  "registry-mirrors": ["https://gfty7g09.mirror.aliyuncs.com"],
  "insecure-registries": ["$harbor_addr"],
  "live-restore": true,
  "default-shm-size": "128M",
  "max-concurrent-downloads": 10,
  "oom-score-adjust": -1000,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "dns": [
    "$dns_addr"
  ]
}
EOF
  • 执行 docker-compose 命令完成部署
docker-compose up -d

完成

空文件

简介

暂无描述 展开 收起
Dockerfile 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/autom-studio/simple-jenkins.git
git@gitee.com:autom-studio/simple-jenkins.git
autom-studio
simple-jenkins
simple-jenkins
master

搜索帮助