gitea + drone 搭建ci流水线

背景

之前搭建了gitea私仓,使用了两年多时间,最近打算搭建个ci,提高自己代码的质量。搭建可以参考:

https://www.zeekling.cn/articles/2020/02/23/1582470250287.html

前期准备

创建OAuth2应用

在应用下面面创建OAuth2,输入自己drone需要使用的域名和login地址:

image.png

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

image.png

创建共享Secret

执行下面命令生成共享Secret:

openssl rand -hex 16
bea26a2221fd8090ea38720fc445eca6

下载安装镜像

执行下面命令安装镜像,设计到的几个参数需要注意:

  • DRONE_GITEA_SERVER:gitea地址。
  • DRONE_GITEA_CLIENT_ID:客户端id,第一步配置产生的。
  • DRONE_GITEA_CLIENT_SECRET:客户端密钥,第一步配置产生的。
  • DRONE_RPC_SECRET:客户端密钥,上一步生成的。
  • 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=客户端ID \
	--env=DRONE_GITEA_CLIENT_SECRET=客户端密钥 \
	--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

打开drone地址:https://doc.zeekling.cn/

image.png

登录成功之后找到需要添加ci的项目,点击active;

image.png

配置下面信息:

image.png

新增.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会开始跑ci,等待代码合入之后也会重新跑ci。

image.png

# gitea  drone 


标 题:《gitea + drone 搭建ci流水线
作 者:zeekling
提 示:转载请注明文章转载自个人博客:小令童鞋

评论

  1. 可以检查代码质量,虽然我还没搞

  2. 弄这个有什么用啊

取消