1、简介

Semaphore UI 是一个开源的CI/CD工具,专注于简化和自动化软件交付流程,可轻松管理和运行 Ansible playbook,提供了一个直观的 Web 用户界面(UI),帮助DevOps团队轻松管理任务、部署和流水线。

官网地址:https://semaphoreui.com/zh

2、 部署教程

2.1 docker环境准备

本文采用docker部署,需提前准备docker和docker-compose环境;

可参考:一文学会[centos7.9] docker和docker-compose安装

2.2 编写docker-compose文件

创建一个目录来存放 docker-compose.yml 文件和相关数据:

mkdir semaphore-docker
cd semaphore-docker

vim docker-compose.yml

建议添加添加 user 配置,指定容器以 root 用户运行;

SEMAPHORE_ADMIN_PASSWORD 是管理员账户的密码,默认值是 Admin@123,建议修改为一个强密码以提高安全性。

services:
  semaphore:
    user: root
    ports:
      - 3000:3000
    image: semaphoreui/semaphore:latest
    environment:
      SEMAPHORE_DB_DIALECT: bolt
      SEMAPHORE_ADMIN_PASSWORD: Admin@123
      SEMAPHORE_ADMIN_NAME: admin
      SEMAPHORE_ADMIN_EMAIL: admin@localhost
      SEMAPHORE_ADMIN: admin
      TZ: Asia/Shanghai
    volumes:
      - ./semaphore/etc:/etc/semaphore
      - ./semaphore/data:/var/lib/semaphore

2.3 运行 Docker Compose 

在项目目录下运行docker-compose.yaml

docker-compose up -d 

2.3.1[报错解决方法: Docker 无法连接到 Docker Hub(registry-1.docker.io)]

报错:

Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

保证网络正常的情况下,添加镜像加速服务器来解决,解决不了就多添加一些!!!(以下镜像源未过期,2025年3月9日亲测有效)

修改 /etc/docker/daemon.json

[root@localhost ~]# vim /etc/docker/daemon.json
# 添加下列内容

{
  "registry-mirrors": [
    "https://docker.hpcloud.cloud",
    "https://docker.m.daocloud.io",
    "https://docker.unsee.tech",
    "https://docker.1panel.live",
    "http://mirrors.ustc.edu.cn",
    "https://docker.chenby.cn",
    "http://mirror.azure.cn",
    "https://dockerpull.org",
    "https://dockerhub.icu",
    "https://hub.rat.dev"
  ]
}

再次尝试拉起镜像成功!

2.4 验证服务是否运行 

 docker-compose ps

 2.5  访问 Semaphore UI

 打开浏览器,访问 http://<你的服务器IP>:3000

  • 默认管理员账户:admin

  • 默认密码:Admin123(或者你修改后的密码)

 

搭建完成!!! 

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐