Gitea+drone搭建CICD环境
警告
本文最后更新于 2022-11-01,文中内容可能已过时,请谨慎使用。
环境版本
gitea:latest
drone:2
drone-runner-docker:linux-amd64
IP 地址 | 端口 | 所属服务 |
---|---|---|
192.168.153.131 | 9300 | Gitea 网页管理服务 |
192.168.153.131 | 9200 | SSH、HTTP 下载代码服务 |
192.168.153.131 | 9080 | drone-Server 服务 |
192.168.153.131 | 9030 | drone-Runner 服务 |
1.基于docker-compose
搭建gitea
数据库使用mysql-8.0
mkdir gitea
cd gitea
vim docker-compose.yml
docker-compose.yml
文件内容如下:
version: "3"
networks:
gitea:
external: false
volumes:
gitea:
driver: local
services:
server:
image: gitea/gitea:1.15.2
container_name: gitea
environment:
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "9300:3000"
- "9200:22"
depends_on:
- db
db:
image: mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
ports:
- 9306:3306
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
开始安装
docker compose up -d
打开浏览器,输入http://192.168.153.131:9300
修改配置如下:
设置管理员账号
直接安装!
2.Gitea
配置Drone
的OAuth
授权应用
用于drone
连接Gitea
依次点击设置、应用,输入drone
的重定向URI
点击创建应用
drone
是包含server
和runner
的,他们之间的通信需要进行加密,还需要通过如下方式生成一个共享密钥
openssl rand -hex 16
配置后面的drone
共需要下面的三个信息
客户端id: a2caedc4-a821-454f-a84a-d457e60548fa
客户端密钥: abydiVyAU07JqVTPmqRNoAH99xXktVsAK4TdpK6c9KTh
共享密钥: fc8071d5fcf829dce2106e10692e8ff3
3.安装drone-server
和drone-runner
docker-compose.yml
配置文件如下:
开始安装:
docker compose up -d
安装完成后打开浏览器,输入http://192.168.153.131:9080
点击continue
点击应用授权,注册管理员账户
大功告成,后续会继续更新CICD
操作。