gitea + drone 搭建ci流水線(xiàn)
背景
之前搭建了gitea私倉,使用了兩年多時(shí)間,最近打算搭建個(gè)ci,提高自己代碼的質(zhì)量。搭建可以參考:
http://www.pc28-pc28.com/articles/2020/02/23/1582470250287.html
前期準備
創(chuàng )建OAuth2應用
在應用下面面創(chuàng )建OAuth2,輸入自己drone需要使用的域名和login地址:

提交之后可以看到生成的密鑰等信息:

創(chuàng )建共享Secret
執行下面命令生成共享Secret:
openssl rand -hex 16
bea26a2221fd8090ea38720fc445eca6
下載安裝鏡像
執行下面命令安裝鏡像,設計到的幾個(gè)參數需要注意:
- DRONE_GITEA_SERVER:gitea地址。
- DRONE_GITEA_CLIENT_ID:客戶(hù)端id,第一步配置產(chǎn)生的。
- DRONE_GITEA_CLIENT_SECRET:客戶(hù)端密鑰,第一步配置產(chǎn)生的。
- DRONE_RPC_SECRET:客戶(hù)端密鑰,上一步生成的。
- DRONE_RPC_HOST:drone的域名,可以使用ip。
#!/bin/bash
docker pull drone/drone:2
docker stop drone
docker rm drone
docker run -d --name=drone \
--env=DRONE_GITEA_SERVER=https://git.zeekling.cn \
--env=DRONE_GITEA_CLIENT_ID=客戶(hù)端ID \
--env=DRONE_GITEA_CLIENT_SECRET=客戶(hù)端密鑰 \
--env=DRONE_RPC_SECRET=bea26a2221fd8090ea38720fc445eca6 \
--env=DRONE_SERVER_HOST=doc.zeekling.cn \
--env=DRONE_SERVER_PROTO=https \
--publish=9080:80 \
--publish=8443:443 \
--restart=always \
--detach=true \
drone/drone:2
docker pull drone/drone-runner-docker:linux-amd64
docker stop drone-runner
docker rm drone-runner
docker run -d --name=drone-runner \
--link drone:drone \
-p 9030:3000 \
--env=DRONE_RPC_PROTO=https \
--env=DRONE_RPC_HOST=doc.zeekling.cn \
--env=DRONE_RPC_SECRET=bea26a2221fd8090ea38720fc445eca6 \
--env=DRONE_RUNNER_CAPACITY=2 \
-v /var/run/docker.sock:/var/run/docker.sock \
drone/drone-runner-docker:linux-amd64
安裝drone-runner-exec
參照https://docs.drone.io/runner/exec/installation/linux/安裝。
配置drone
打開(kāi)drone地址:https://doc.zeekling.cn/

登錄成功之后找到需要添加ci的項目,點(diǎn)擊active;

配置下面信息:

新增.drone.yml文件,配置如下:
kind: pipeline
type: docker
name: default
steps:
- name: build
image: maven
volumes:
- name: cache
path: /root/.m2
commands:
- mvn clean install -DskipTests
trigger:
branch:
- master
event:
- pull_request
- push
volumes:
- name: cache
host:
path: /root/.m2
提交代碼,提交mr會(huì )開(kāi)始跑ci,等待代碼合入之后也會(huì )重新跑ci。

好像還可以的樣子??
可以檢查代碼質(zhì)量,雖然我還沒(méi)搞
弄這個(gè)有什么用啊