前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gitea + drone 搭建ci流水线

gitea + drone 搭建ci流水线

作者头像
zeekling
发布2022-08-26 19:57:30
1K0
发布2022-08-26 19:57:30
举报

背景

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

https://cloud.tencent.com/developer/article/2026128

前期准备

创建OAuth2应用

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

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

创建共享Secret

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

代码语言:javascript
复制
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。
代码语言:javascript
复制
#!/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/

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

配置下面信息:

新增.drone.yml文件,配置如下:

代码语言:javascript
复制
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。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022.05.04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 前期准备
    • 创建OAuth2应用
      • 创建共享Secret
        • 下载安装镜像
          • 安装drone-runner-exec
          • 配置drone
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档