原文地址:初探gitea Actions的内置CICD功能组件

初探gitea Actions的内置CICD功能组件

说明

本次分享首次接触Gitea DevOps插件Actions,如果你使用过GitHub Actions那你一定要看看。

安装docker

我这边使用docker进行安装,如果你没有安装docker,可以参考这篇文章

安装gitea平台

以下是一个仓靠gitea官网的Docker Compose方式,也可以参考官方其他安装方式

创建持久化目录

mkdir -p gitea/{data,config}
cd gitea
touch docker-compose.yml
chown 1000:1000 config/ data/
# or chmod 777 config/ data/

创建docker-compose.yml 文件

version: "2"

services:
  server:
    image: gitea/gitea:1.20-rootless
    restart: always
    volumes:
      - ./data:/var/lib/gitea
      - ./config:/etc/gitea
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:2222"

启动容器

docker-compose up -d

安装

访问http://localhost:3000 进入gitea安装页面

1697445091144.png

这里我使用的sqllitem默认数据库

1697444508399.png

设置管理员账户密码以及邮件地址

启用 Gitea Actions

gitea从1.19版本开始,Gitea Actions就内置到了gitea服务中了,编辑config/app.ini 文件,新增如下设置

[actions]
ENABLED = true

保存配置后重启gitea服务

配置gitea runner

请点击右上角个人照片,选择Site Administration 接着选择 Runner Tab选项

site-setting.png

看到如上页面后就可以进行Gitea Action Runner的安装了

安装 Gitea Action Runner

创建持久化目录
mkdir -p runner/data
cd runner
touch docker-compose.yml
sudo chown 1000:1000 data/

编辑docker-compose.yml 文件
version: "2"

services:
  runner:
    image: gitea/act_runner:0.2.6
    restart: always
    volumes:
      - ./data/act_runner:/data
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - GITEA_INSTANCE_URL=<instance url>
      - GITEA_RUNNER_REGISTRATION_TOKEN=<registration token>

其中<instance url> 填写gitea服务的地址,可以是域名,可以是IP,或者:http://your_host:3000 ,<registration token>就是Runner Tab选项生成的token。

runner-list.png

建立Gitea Action

由于目前Repository都说关闭的,需要手动开启,点击Settings 选择Repository找到Enable Repository Action 打勾保存即可

enable-action.png

测试

在项目下建立.github/workflows 文件夹,并创建main.yml 文件

name: CI
on: [push]
jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: echo hello world
        run: |
          echo "hello world" 

总结

测试完毕,期望可以正式见到这个功能,非常的实用。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐