docker+gitea+drone搭建CI/CD

 docker-compose安装:

https://www.runoob.com/docker/docker-compose.html

 

docker-compose 安装gitea,默认数据库SQLite3:

docker-compose.yml

version: "2"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:1.14.2
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    privileged: true
    volumes:
      - /var/docker/gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3006:3000"
      - "222:22"

安装官网的文件copy,总是失败,

 

 

一番折腾后,发现添加代码:

 privileged: true 即可解决上面的权限问题

 

执行 docker-compose up -d

访问:http:serverIp:3006出现如下界面

 

 

 

如果初始化参数配置错了,后面可以修改:vi /var/docker/gitea/gitea/conf/app.ini 打开配置文件

docker-compose 安装Drone:

docker-compose.yml:

version: '3'
networks:
  gitea:
    external: false
services:
  # 容器名称
  drone-server:
    container_name: drone
    # 构建所使用的镜像
    image: drone/drone
    # 映射容器内80端口到宿主机的3008端口
    ports:
      - 3008:80
    # 映射容器内/data目录到宿主机的目录
    volumes:
      - /data/apps/drone:/data
    # 容器随docker自动启动
    restart: always
    privileged: true
    networks:
      - gitea
    environment:
      # Gitea 服务器地址
      - DRONE_GITEA_SERVER=http://10.0.0.213:3006
      # Gitea OAuth2客户端ID
      - DRONE_GITEA_CLIENT_ID=4c5fa377-28e1-4ce6-8241-ddeaf5920961
      # Gitea OAuth2客户端密钥
      - DRONE_GITEA_CLIENT_SECRET=CzR0Wpsdv8sur5nLCSFrQ7kTSbwnGGxi2w3sBH0Z3z0=
      # drone的共享密钥
      - DRONE_RPC_SECRET=vmcroWdG1MwU2VJ5NRPh
      # drone的主机名
      - DRONE_SERVER_HOST=10.0.0.213:3008
      # 外部协议方案
      - DRONE_SERVER_PROTO=http
      # 创建管理员账户,这里对应为gitea的用户名
      - DRONE_USER_CREATE=username:yaojl,admin:true
  docker-runner:
    container_name: drone-runner
    image: drone/drone-runner-docker
    ports:
      - 3009:3000
    restart: always
    privileged: true
    networks:
      - gitea
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      # 用于连接到Drone服务器的协议。该值必须是http或https。
      - DRONE_RPC_PROTO=http
      # 用于连接到Drone服务器的主机名
      - DRONE_RPC_HOST=drone:80
      # Drone服务器进行身份验证的共享密钥,和上面设置一样
      - DRONE_RPC_SECRET=vmcroWdG1MwU2VJ5NRPh
      # 限制运行程序可以执行的并发管道数。运行程序默认情况下执行2个并发管道。
      - DRONE_RUNNER_CAPACITY=2
      # docker runner 名称
      - DRONE_RUNNER_NAME=docker-runner
View Code

 

yml的密钥:

 

 

 同样添加 :privileged: true 即可解决上面的权限问题

执行 docker-compose up -d

访问 http://serviceIp:3008/,进入下图:

 

 

 


posted @ 2021-12-21 16:36  SmilePastaLi  阅读(317)  评论(0编辑  收藏  举报