gitea+drone+k3s 实现自动集成发布(ubuntu)

1.安装docker

1.安装Docker
更新apt

sudo apt-get update

安装基本软件

sudo apt-get install curl wget apt-transport-https ca-certificates software-properties-common

添加docker密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

对比:

sudo apt-key fingerprint 0EBFCD88

添加源

sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装

sudo apt-get update
sudo apt-get install docker-ce

查看docker状态:

systemctl status docker

添加阿里镜像

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://bhfjayzb.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

2.安装docker-compose

apt-get install -y docker-compose

3.安装gitea

3.1创建docker-compose.yml文件

version: "3"
networks:
  gitea:
    external: false
services:
  server:
    image: gitea/gitea:1.16.7
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    volumes:
      - /home/data:/data  # /home/data可以替换成你想要的挂载目录
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3030:3000" # 3030可以替换成你想要的端口
      - "322:22" # 322可以替换成22

3.2 运行

docker-compose up -d

配置gitea

访问:http://server-ip:3030
在这里插入图片描述

设置管理员账号密码

在这里插入图片描述
点击安装后,系统安装完毕会自动登录

创建测试仓库

创建组织
在这里插入图片描述
创建仓库
在这里插入图片描述
在这里插入图片描述

Drone安装

此处同样采用docker-compose-drone.yml的方式安装

version: '3'  # 使用 Docker Compose 文件版本 3

services:
  drone-server:  # 定义名为 drone-server 的服务
    restart: always  # 总是在容器退出时重新启动
    image: drone/drone:2  # 使用 drone/drone:2 镜像作为服务的基础镜像
    ports:
      - "80:80"  # 将容器的 80 端口映射到宿主机的 80 端口
    volumes:
      - /home/lan/drone/:/var/lib/drone/  # 将宿主机的 /home/lan/drone/ 目录挂载到容器的 /var/lib/drone/ 目录
      - /home/lan/data/:/data/  # 将宿主机的 /home/lan/data/ 目录挂载到容器的 /data/ 目录
    environment:  # 设置容器的环境变量
      - DRONE_GITEA_SERVER=http://10.7.127.154:3030/  # 指定 Gitea 服务器地址
      - DRONE_GITEA_CLIENT_ID=d4ff689a-5998-4a15-8f79-0fa9e1f4ac92  # 指定 Gitea OAuth2 客户端 ID
      - DRONE_GITEA_CLIENT_SECRET=6s029hMCcm89W0GoavurDKzy63ryNRl0uAQNcYqTRC58  # 指定 Gitea OAuth2 客户端密钥
      - DRONE_SERVER_HOST=10.7.127.154:80  # 指定 Drone 服务器的主机名或 IP 地址
      - DRONE_SERVER_PROTO=http  # 指定 Drone 服务器使用的协议
      - DRONE_RPC_SECRET=lan  # 指定 Drone 与 runner 通信的密钥
      - DRONE_GIT_ALWAYS_AUTH=true  # 指定 Git 仓库是否总是需要认证
      - DRONE_GIT_USERNAME=cicd  # 指定用于与 Git 仓库通信的用户名
      - DRONE_GIT_PASSWORD=6657b740bb03f24ee7908586854d7e1d26890495a  # 指定用于与 Git 仓库通信的密码
      - DRONE_USER_CREATE=username:root,admin:true # 开启管理员账户

  drone-runner-docker:  # 定义名为 drone-runner-docker 的服务
    restart: always  # 总是在容器退出时重新启动
    image: drone/drone-runner-docker:1  # 使用 drone/drone-runner-docker:1 镜像作为服务的基础镜像
    ports:
      - "3000:3000"  # 将容器的 3000 端口映射到宿主机的 3000 端口
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock  # 将宿主机的 Docker socket 挂载到容器内
    environment:  # 设置容器的环境变量
      - DRONE_RPC_PROTO=http  # 指定 Drone 与 runner 通信使用的协议
      - DRONE_RPC_HOST=10.7.127.154:80  # 指定 Drone 服务器的主机名或 IP 地址
      - DRONE_RPC_SECRET=lan  # 指定 Drone 与 runner 通信的密钥
      - DRONE_RUNNER_NAME=drone-runner-docker  # 指定 Drone runner 的名称
      - DRONE_RUNNER_CAPACITY=2  # 指定 Drone runner 的并发处理能力

运行

docker-compose -f docker-compose-drone.yml

访问:http://drone-server-domain
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建alibaba 仓库

进入 容器镜像服务在这里插入图片描述

https://cr.console.aliyun.com/cn-chengdu/instance/credentials
根据sudo docker login --username=aliyun3014818226 registry.cn-chengdu.aliyuncs.com创建 drone secret
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

每个字段都是就是name,value就是阿里仓库对应的用户名 密码 命名空间
registry对应的value就是方框对应的registry在这里插入图片描述

最后根据脚本上传代码实现cicd

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值