Starting with Gitea 1.19, Gitea Actions are available as a built-in CI/CD solution.
- 註冊 Docker Hub 帳號
 - 登入 Play With Docker 平台
 
也可以在 DigitalOcean 上建立 Droplet,並安裝 Docker.
多種安裝方式可以參考線上文件,我們選擇使用 Installation with Docker (rootless) 方式安裝。
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"你可以將 3000, 2222 替換成你想要的 port。
docker-compose up -d請點選 3000 port 的連結就可以看到首頁了,請參考底下畫面
設定 Administrator 帳號,請參考底下畫面
按下送出後,請等待 Install 過程
從 Gitea 1.19 版本開始,Gitea Actions 就已經內建在 Gitea 服務中。請打開 config/app.ini 檔案,並增加底下設定
[actions]
ENABLED=true請重新啟動 Gitea 服務
docker-compose restart請點選 Site Administration
點選 Runner Tab 選單
接著透過 docker compose 來啟動 runner 服務,先建立 gitea 資料夾,並建立 docker-compose.yml 檔案
mkdir -p gitea/data
cd gitea
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 服務網址,<registration token> 替換成你的 Runner Token。啟動後可以在後台看到底下畫面
由於目前 Repository 預設設定都是關閉的,故需要手動開啟。請打開 Repository,點選 Settings,看到左邊選單 Repository,看到右邊設定內找到 Enable Repository Action 點選打勾,最後按下儲存即可。
請建立 .github/workflows 資料夾,並建立 main.yml 檔案
mkdir -p .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"請將 echo hello world 替換成你想要執行的指令,例如 npm install 或 npm test。







