docker-compose部署Jenkins+Gitlab CICD

2023-05-16

docker-compose 搭建CICD-jenkins+gitlab
1.修改yum源
(1)备份原来的yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)下载阿里的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(3)安装相关插件
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
(4)添加docker-ce源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.安装docker-ce,配置docker仓库
yum install -y docker
tee /etc/docker/daemon.json <<-‘EOF’
{
“insecure-registries” : [“0.0.0.0/0”],
“registry-mirrors”: [“https://bytkgxyr.mirror.aliyuncs.com”,“https://registry.docker-cn.com”,“http://hub-mirror.c.163.com”]
}
EOF
systemctl restart docker
systemctl enable docker
3.安装docker-compose
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose
chmod 777 /usr/local/bin/docker-compose

docker-compose --version

4.拉取jenkins镜像和gitlab镜像:

docker pull docker.io/jenkins/jenkins

docker pull registry.gitlab.cn/omnibus/gitlab-jh:latest

5.部署CICD: 先部署jenkins:

mkdir /root/CICD && cd /root/CICD

vi jenkins.yaml

version: "3"
services:
  jnekins:
    container_name: jenkins
    image: docker.io/jenkins/jenkins
    ports:
      - 8080:8080  #按需修改
    user: root
    privileged: true
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - /usr/bin/docker:/usr/bin/docker                  #1容器内使用docker
      - /var/run/docker.sock:/var/run/docker.sock       #2
      - /usr/bin/kubectl:/usr/local/bin/kubectl         #3容器内使用K8S
      - /root/.kube:/root/.kube                         #4 1-4为jenkins部署流水线所需,本文只搭建。不涉及流水线发布
    restart: always

docker-compose -f jenkins.yaml up -d
在这里插入图片描述

游览器访问http://IP:8080

在这里插入图片描述

查看密码:cat jenkins_home/secrets/initialAdminPassword

根据自己需求安装,本文选择第2个:

在这里插入图片描述

添加一个gitlab

在这里插入图片描述

创建用户根据自己所需,本文以admin管理用户登录。游览器直接URL即可。

点击admin-设置-下方即可设置admin密码:

在这里插入图片描述

jenkins到这里就先可以了,后续把gitlab安装好再配置:

gitlab安装过程:(gitlab启动时间会相对长点,可用docker logs查看)

vi /root/CICD/gitlab.yaml

version: "3"
services:
  gitlab:
    container_name: gitlab
    image: registry.gitlab.cn/omnibus/gitlab-jh:latest
    ports:
      - '1022:22'
      - '88:80'
      - '443:443'  #按需修改
    restart: always
    user: root
    volumes:
      - ./gitlab/config:/etc/gitlab
      - ./gitlab/data:/var/opt/gitlab
      - ./gitlab/logs:/var/log/gitlab

docker-compose -f gitlab.yaml up -d

在这里插入图片描述

游览器 http://IP:88 访问( 这个管理员账号的账号名为 root,而密码在一个自动生成的文件 /etc/gitlab/initial_root_password 中(密码不会含空格),且会在 24 小时后自动被删除。)
cat gitlab/config/initial_root_password

修改root密码:

在这里插入图片描述

设置jenkins访问秘钥:(先创建项目,这里不创建,自行创建,演示通过公共的)进入项目:

在这里插入图片描述

在这里插入图片描述
复制代码

进入jenkins:Manage Jenkins→Configure Ststem→Gitlab

在这里插入图片描述

Test Connection 显示Success即可

Credentials 采用
在这里插入图片描述

保存即可!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker-compose部署Jenkins+Gitlab CICD 的相关文章

  • 如何使 Docker 容器中的 /etc/hosts 可被 root 写入? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我是使用 docker 的新手 正在配置容器 我无法编辑 etc hosts 但需要编辑我正在开发的某些软件 自动编辑 通过 sudo
  • 与主机中的容器共享目录或卷

    我有一个目录 可能是后面的卷 我想与所有交互式容器共享 我知道 本机 Docker 卷存储在 var lib docker volumes and docker run v似乎是最简单的方法 但我认为Data Volume Containe
  • JFrog Artifactory 将什么令牌端点用于其 Docker 注册表?

    我正在尝试编写基本上可以执行以下操作的代码docker inspect发布到私人 JFrog Artifactory 的图像 而无需自己实际提取图像 我一直在使用一个名为在不拉取的情况下检查 Docker 镜像 https ops tips
  • 当 docker 处于分离状态或前台时,日志不会发送到 AWS Cloudwatch

    当我以交互模式运行 docker 脚本时 它可以工作 我可以在控制台和 AWS CloudWatch Logs 中查看日志 下面的 docker 脚本以交互模式运行 我添加了 awslogs 配置 以便日志进入 cloudwatch doc
  • 无法在 docker 容器内安装 vim 或 nano

    尝试在 docker vim 或 nano 内安装 但我只得到这个 0 Connecting to archive ubuntu com 91 189 88 152 退出 docker 并执行ping archive ubuntu com我
  • 您可以使用 Jenkins Pipeline 解析 TAP 格式吗?

    我正在尝试解析 BATS 脚本的输出 https github com gaia adm docker bench test https github com gaia adm docker bench test 输出为 TAP 格式 我稍
  • Docker:Nginx 和 php5-fpm docker 不说话

    我想进行完全 Docker 化的 Drupal 安装 我的第一步是让容器与 Nginx 和 php5 fpm 一起运行 两者都基于 Debian 我在 CoreOS alpha 频道 使用 Digital Ocean 我的 Dockerfi
  • BitBucket+Jenkins:仅在特定分支更改时触发构建

    以下是该问题的据称解决方案 尽管它看起来确实是一种解决方法 而不是最终的解决方案 有没有一种方法 通过作业配置或 bitbucket 挂钩配置 我可以将作业设置为仅在推送到特定分支时运行构建 是否可以仅从一个特定分支触发 Jenkins h
  • 使用 Github 注册表中的 Docker 镜像未经授权

    我在本地创建了 Docker 镜像 将其标记为 Github Docker 注册表 将其推送到 Github Docker 注册表 现在我想在 Github 操作中使用它来创建 Docker 镜像FROM字段但它总是失败unauthoriz
  • 运行命令后存在来自 rocker/r-ver:4.0.4 的容器

    这是我的 Dockerfile FROM rocker r ver 4 0 4 在 cmd 中我构建 docker build t myfolder myimage 它塑造的形象很好 然后我跑 docker run myfolder myi
  • 如何从 docker-compose 链接到 Amazon RDS

    我的 docker compose yml 看起来像这样 django build user django links LINK TO AMAZON RDS command gunicorn sh env file config setti
  • 如何从 docker 容器运行 webpack 构建?

    我正在制作的应用程序是用 ES6 编写的 其他好东西是由 Docker 容器内的 webpack 转译的 目前 一切工作从创建内部目录 安装依赖项到创建编译的捆绑文件 当运行容器时 它说 dist bundle js 不存在 除非我在主机目
  • Jenkins - Xcode 构建工作协同设计失败

    下面是我的构建脚本 不使用 xcodebuild 插件 构建步骤工程 我使用所需的证书和私钥创建了一个单独的钥匙串 它们在钥匙串访问中可见 脚本中的钥匙串命令不会失败 安全列表钥匙串将这些显示为有效的钥匙串 它的表现就像解锁命令并未真正成功
  • 如何在gitlab存储库中下载单个文件夹或文件

    我有一个存储库 在此存储库中 有多个文件夹可用 我只需要此存储库中的一个文件夹 我已经尝试遵循命令 但它不起作用 克隆 有没有办法只克隆 git 存储库子目录 https stackoverflow com questions 600079
  • 如何删除 TFS 工作区映射?

    我在一个团队项目中的 tfs 中有一个项目 然后我们将该项目移动到另一个团队项目中的不同位置 我已将 Jenkins 配置为连接到团队项目并构建我的解决方案 但是当我更改设置以连接到新的 tfs 团队项目时 出现以下错误 workspace
  • 如何将参数从jenkins传递到selenium

    我正在使用詹金斯和硒 我需要将测试 url 从 jenkins 发送到 selenium 服务器 在常规选项卡下 詹金斯字符串参数 Name APP Default Value http localhost basecode 在构建后操作下
  • 使用netcat将unix套接字传输到tcp套接字

    我正在尝试使用以下命令将 unix 套接字公开为 tcp 套接字 nc lkv 44444 nc Uv var run docker sock 当我尝试访问时localhost 44444 containers json从浏览器中 它不会加
  • 在openjdk:7-jre-alpine docker上如何安装python 3.6

    直到大约一周前 我才在 java 图像上成功使用 python 3 6 脚本 如下所示 FROM openjdk 7 jre alpine RUN apk update apk upgrade apk add no cache bash a
  • Hudson 和电子邮件通知

    我可以覆盖每个作业的 Hudson 设置 系统管理员电子邮件地址 吗 阅读了一些源代码http sorcerer jenkins ci org http sorcerer jenkins ci org and hudson tasks Ma
  • Docker 构建器构建与 docker 构建

    在 Docker 的文档页面上 有一个条目码头工人建造者 https docs docker com engine reference commandline builder 这是父命令docker 构建器构建 https docs doc

随机推荐

  • Lanelet2高精地图2——Point(点)介绍

    在Lanelet2高精地图中 xff0c Point由ID xff0c 3d坐标和属性组成 xff0c 是唯一存储实际位置信息的元素 xff0c ID必须是唯一的 其他基本元素都是直接或者间接由Point组成的 在Lanelet2中 xff
  • 递归方法求n!阶乘

    递归的定义 xff1a 在定义一个过程或函数时 xff0c 出现调用本过程或者是本函数的成分 xff0c 称之为递归 通常需要用到递归的方法 xff1a 定义是递归的 xff08 例如n Fibonacci数列问题 xff09 数据结构是递
  • ubuntu系统下安装Qtcreator

    1 打开Ubuntu系统 xff0c 去Qt官网下载qt https download qt io archive qt 进入网站后找到 qt opensource linux x64 5 12 2 run xff0c 开始下载 2 对于新
  • ubuntu22 安装 qt6

    sudo qt unified linux x64 4 5 2 online run mirror https mirrors aliyun com qt qt6支持 mirror https mirrors aliyun com qt
  • Serdes高速收发器和CDR技术

    目录 一 Serdes高速收发器 二 CDR技术 三 Comma码 K码 今天学习一下 高速收发器 serdes 以及用到的CDR 技术 一 Serdes高速收发器 在传统的源同步传输中 xff0c 数据和时钟分离 xff0c 在速率较低
  • Linux学习--安装软件时提示有未能满足的依赖关系

    这种现象出现的原因是 xff1a xff08 1 xff09 软件需要依赖旧的版本的其他软件 xff0c 但是目前这些都是新的 xff08 2 xff09 要装A xff0c 但是依赖新版本的B xff0c 同时C也依赖了B xff0c 但
  • 解决centos9安装mongodb数据库错误:mongod: error while loading shared libraries: libcrypto.so.1.1: cannot open

    今天进行mongodb数据库在linux进行环境搭建搭建到了一半就开始出现错误 mongod error while loading shared libraries libcrypto so 1 1 cannot open shared
  • [模板] 线性筛素数 (欧拉筛)

    模板 素数筛 P3383 模板 线性筛素数 洛谷 计算机科学教育新生态 题目背景 本题已更新 xff0c 从判断素数改为了查询第 k 小的素数 提示 xff1a 如果你使用 cin 来读入 xff0c 建议使用 std ios sync w
  • WSL+Systemd+Gnome+VcXsrv+CUDAToolkit 安装

    我的版本信息 wsl xff1a PS C Users kirk gt wsl update 正在检查更新 无更新使用 内核版本 xff1a 5 10 102 1 Ubuntu xff1a kirk 64 KirkComputer lsb
  • java上位机

    可以做 xff0c 我有做好的底层通讯程序 xff0c 无需了解通讯协议 xff0c 只要正确配置就可以读出相应的寄存器的值 xff0c 数据类型支持short xff0c int xff0c float等 xff0c 我也有做好的界面 x
  • java上位机的界面

  • Lanelet2高精地图3——LineString(线串)介绍

    LineString线串是两个或者多个点生成的有序数组 xff0c 用来描述地图元素的形状 线串可以通过高度离散化实现 xff0c 来描述任何一维形式 xff0c 并应用于地图上的任何可物理观察到的部分 与样条曲线相比 xff0c 线串可以
  • 香橙派的使用入门无屏幕安装系统

    首先我购买的是香橙派pipc这款开发板价格在105块 xff0c 需要购买散热片以及风扇 电源需要一个5v3安的电源 xff0c 系统有时候会运行不正常 一开始没有屏幕就需要一根usb转ttl的串口线 xff0c 注意不是usb转232 软
  • 香橙派进入系统后设置ip

    Debian 可以配置静态IP 动态IP使Debian连上互联网 用户使用nano编辑器编辑interface网卡配置文件 xff0c 为Debian系统指定本网络中的唯一IP地址 xff0c 使其能上网 方法 步骤 将用户当前目录切换到网
  • 香橙派更改中文界面以及安装输入法

    第一步更新语言包 sudo apt get install locales 第二部选择 sudo dpkg reconfigure locales 找到语言包空格键选中变 最后安装 scim 输入法相关 xff1a apt get inst
  • 香橙派添加启动脚本

    sudo nano etc rc local 后台启动 nohup root frp frpc c root frp frpc ini amp 查询日志 cat nohup out java jar root aaa jar
  • app远程访问plc实现方法

    工业上越来越多的人需要将局域网内的plc数据或者单片机的数据上传到手机app上 xff0c 实现远程的操作监控 实现的方法是借助plc支持modbus协议 xff0c 通过dtu模块实现串口透传到云服务器 xff0c 之后开发手机app实现
  • java访问西门子300plc以及仿真的测试方法

    安装step7软件 支持win7 64位系统 安装仿真软件plc sim 之后以管理员身份运行Nettoplcsim 下bin下的NetToPLCsim
  • Shell 批量拉取docker镜像(当前目录和指定目录)

    批量拉取docker容器镜像 拉取当前文件夹内的容器镜像 xff1a span class token shebang important bin sh span span class token comment 当前路径 span spa
  • docker-compose部署Jenkins+Gitlab CICD

    docker compose 搭建CICD jenkins 43 gitlab 1 修改yum源 xff08 1 xff09 备份原来的yum源 mv etc yum repos d CentOS Base repo etc yum rep