zoukankan      html  css  js  c++  java
  • 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/,进入下图:

    
    
  • 相关阅读:
    【转】你必须知道的EF知识和经验
    【转】ASP.NET MVC中错误日志信息记录
    js获取当前iframe的ID
    【转】Code First 属性详解
    【转】MVC中code first方式开发,数据库的生成与更新(Ef6)
    【转】MVC form提交实体接收参数时空字符串值变成null
    【转】别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
    Jquery中.attr()和.data()的区别
    关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法
    浅谈 php 采用curl 函数库获取网页 cookie 和 带着cookie去访问 网页的方法!!!!
  • 原文地址:https://www.cnblogs.com/SmilePastaLi/p/15715968.html
Copyright © 2011-2022 走看看