基于gitea+act_runner 搭建CI/CD自动化部署
Gitea 的搭建可以参考另一片文章
在Centos 上搭建代码管理平台Gitea
设置Gitea
要求Gitea版本必须大于1.19.0
小于1.21.0版本需要手动开启actions功能,在app.ini配置文件中
[actions] ENABLED=true
登录gitea 官网下载与gitea版本对应的act_runner
https://dl.gitea.com/act_runner/
注册Runner 实例
./act_runner register --no-interactive --instance <instance> --token <token>
需要两个必需的参数:
instance
和token
instance
是您的Gitea实例的地址,如
http://192.168.8.8:3000或
https://gitea.comtoken
用于身份验证和标识,例如
P2U1U0oB4XaRCi8azcngmPCLbRpUGapalhmddh23. 它只能使用一次,并且不能用于注册多个Runner。 您可以从以下位置获取不同级别的token
,从而创建出相应级别的`runner- 实例级别:管理员设置页面,例如
<your_gitea.com>/admin/actions/runners
。 - 组织级别:组织设置页面,例如
<your_gitea.com>/<org>/settings/actions/runners
。 - 存储库级别:存储库设置页面,例如
<your_gitea.com>/<owner>/<repo>/settings/actions/runners
。
token 的具体位置在管理后台=>actions=>Runners 创建Runner下生成token
出现如下内容代表注册成功
- 实例级别:管理员设置页面,例如
启动Runner
./act_runner daemon
在对应的存储库的设置, 高级设置中启用Actions
name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: [push] jobs: Explore-Gitea-Actions: runs-on: ubuntu-latest steps: - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - name: Check out repository code uses: actions/checkout@v4 - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." - run: echo "🖥️ The workflow is now ready to test your code on the runner." - name: List files in the repository run: | ls ${{ gitea.workspace }} - run: echo "🍏 This job's status is ${{ job.status }}."
上面的就是一个简单的demo, 将此内容存放到存储库的
.gitea/workflows/
目录中, 文件后缀为.yaml. 例如.gitea/workflows/demo.yaml